arduino串口读取多个字节(USART_HMI屏示例)

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 = "";
    }
}

发布了24 篇原创文章 · 获赞 17 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/huanghaoAudio/article/details/79547030
今日推荐