arduino中的serial .available()和serial.read()
Serial.available() 的意思是:返回串口缓冲区中当前剩余的字符个数。一般用这个函数来判断串口的缓冲区有无数据,当Serial.available()>0时,说明串口接收到了数据,可以读取;
Serial.read()指从串口的缓冲区取出并读取一个Byte的数据,比如有设备通过串口向Arduino发送数据了,我们就可以用Serial.read()来读取发送的数据。
典型的用法如下:
上面代码的意思就是,当串口接收到数据时(上面Serial.available()>0这句),反复读取串口的数据并赋值给data (上面data= Serial.read()这句),直到数据读完(即Serial.available()=0的时候)。
char comchar; void setup() { Serial.begin(9600); while(Serial.read()>= 0){}/ /clear serialbuffer 清除串口缓存 } void loop() { // read data from serial port while(Serial.available()>0){ comchar = Serial.read();//读串口第一个字节 Serial.print("Serial.read: "); Serial.println(comchar); delay(100); } }
分类:
