char buffer[18];
void setup()
{
Serial.begin(9600);
Serial.flush();
}
void loop()
{
if(Serial.available()>0)
{
int index=0;
delay(100);//等待缓冲区充满
//延时的目的是等待所有的数据发过来,这样做可以避免数据还没全部发过来之前就执行下一个语句。
int numChar = Serial.available();
if(nunChar>15)
{
index=15;
}
while(index--)
{
buffer[index++] = Serial.read();
}
}
}
Serial.flush()命令清空串口中残存的字符。为输入/输出做准备。
Serial.available()判断接收缓冲器的状态函数。读取串口缓冲器的值(128节寄存器),以判断数据送达到串口。
Serial.read()读取串口函数,读取串口数据的第一个字节,如果没有返回-1,整数类型int。