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

tigerzq 发表于 2019-4-29 11:37

第111页中程序Serial.available()的疑问

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显示一次怎么办?

奈何col 发表于 2019-4-29 13:48

int ava;//变量存储能读取的字节数
注意下变量类型

tigerzq 发表于 2019-4-29 13:56

奈何col 发表于 2019-4-29 13:48
int ava;//变量存储能读取的字节数
注意下变量类型

是的,当时就是看程序里面用的char,就写了个char,没经过大脑思考

tigerzq 发表于 2019-4-29 14:00

又发现个新问题,为何第一个数字是1呢?我感觉应该是6才对吧!

奈何col 发表于 2019-4-29 17:19

tigerzq 发表于 2019-4-29 14:00
又发现个新问题,为何第一个数字是1呢?我感觉应该是6才对吧!

加个delay,保证数据全部进入缓冲区

tigerzq 发表于 2019-4-29 20:58

arduino编程时有没有调试命令?如何查看各个变量运行过程变化?

奈何col 发表于 2019-5-3 12:36

tigerzq 发表于 2019-4-29 20:58
arduino编程时有没有调试命令?如何查看各个变量运行过程变化?

没有,调试方法就是用串口打印
页: [1]
查看完整版本: 第111页中程序Serial.available()的疑问