1、读取多个字节
用于读取字节,比读取字符串优势在于可以读取大于0x7f的数据,因为字符串读取法读取的数据不能大于0x7f。
void setup()
{
Serial.begin(115200);//配置触摸屏通讯串口波特率
}
void loop()
{
USART_HMI();
}
void USART_HMI()
{
int i;
byte comdata[20];
while (Serial.available() > 0) {
delay(3);
i++;//接收一个字节加1
comdata[i] = Serial.read();
//usart HMI屏发送最后三个数据将发送FF FF FF作为结束标志
//最后一个和倒数第二个数同时为255(0xFF)时跳出while循环
//跳出循环后i会重新计数
if (comdata[i] == 255 && comdata[i - 1] == 255) {
break;
}
//Serial.print(i); Serial.print("="); Serial.println(comdata[i]);
}
if (comdata[1] == 0xa1) {
//此处添加想要实现的功能
comdata[1] = 0;
}
}
2、字符串读取
String comdata = "";
void setup()
{
Serial.begin(115200);
}
void loop()
{
while (Serial.available() > 0)
{
comdata += char(Serial.read());
delay(2);
}
if (comdata.length() > 0)
{
if(comdata[0]==0x01){
Serial.println(comdata);
}
comdata = "";
}
}