第111页中程序Serial.available()的疑问-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3779|回复: 6

[作者已回复] 第111页中程序Serial.available()的疑问

[复制链接]
发表于 2019-4-29 11:37 | 显示全部楼层 |阅读模式
Serial.available()是获取串口接收到的数据个数,那么如何把这个值显示出来呢?我改了一下程序,想显示出来,但是不行
//read()函数读取串口数据
char col;
char ava;//变量存储能读取的字节数

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
while(Serial.available()>0){
  ava=Serial.available();//显示可读取的字节数
  Serial.print(ava);
  col=Serial.read();
  Serial.print("read:");
  Serial.println(col);
  delay(1000);
  }
}

如何更改呢?另外,如果我只想把这个ava显示一次怎么办?
发表于 2019-4-29 13:48 | 显示全部楼层
int ava;//变量存储能读取的字节数
注意下变量类型
 楼主| 发表于 2019-4-29 13:56 | 显示全部楼层
奈何col 发表于 2019-4-29 13:48
int ava;//变量存储能读取的字节数
注意下变量类型

是的,当时就是看程序里面用的char,就写了个char,没经过大脑思考
 楼主| 发表于 2019-4-29 14:00 | 显示全部楼层
阿里旺旺图片20190429135916.jpg 又发现个新问题,为何第一个数字是1呢?我感觉应该是6才对吧!

点评

加个delay,保证数据全部进入缓冲区  详情 回复 发表于 2019-4-29 17:19
发表于 2019-4-29 17:19 | 显示全部楼层
tigerzq 发表于 2019-4-29 14:00
又发现个新问题,为何第一个数字是1呢?我感觉应该是6才对吧!

加个delay,保证数据全部进入缓冲区
 楼主| 发表于 2019-4-29 20:58 | 显示全部楼层
arduino编程时有没有调试命令?如何查看各个变量运行过程变化?

点评

没有,调试方法就是用串口打印  详情 回复 发表于 2019-5-3 12:36
发表于 2019-5-3 12:36 | 显示全部楼层
tigerzq 发表于 2019-4-29 20:58
arduino编程时有没有调试命令?如何查看各个变量运行过程变化?

没有,调试方法就是用串口打印
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:23 , Processed in 0.216167 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表