如何使用ESP8266毫无阻碍地读取串行数据

时间:2019-12-06 10:40:54

标签: esp8266

我正在解析一个电子设备串行协议,并将ESP8266用于此任务。设备不断发送202字节数据,我弄清楚了开始和结束。

整个数据包如下:

71 c8 01 10 56 55 62 49 00 05 00 00 00 00 00 00 00 00 00 00 00 19 15 11 55 16 5e 55 05 09 00 00 00 00 00 00 00 00 00 00 00 80 8f 80 8a b2 71 71 97 99 00 00 00 00 00 00 00 00 00 00 00 00 80 85 15 8a 85 85 d0 7b 78 1f 7e 1f 1f 79 79 8d 8d 9e 9671 8f b7 a3 7b 8f 8e 85 80 8f 8a 94 9e 8a 8a 94 9e 82 90 8b 05 65 78 c1 0b 00 00 00 00 00 00 00 00 55 56 55 21 53 15 5a 05 12 12 19 00 00 00 00 00 00 00 00 00 00 e2 ce 0d 71 81 72 ce 0c 92 81 b0 00 aa 7c ab b0 32 32 9c b6 32 32 32 80 b7 af cd 9a ac 79 80 77 80 ff 91 01 29 59 00 00 3b 0b 1c 51 59 01 36 79 01 01 c3 02 00 dd 02 00 05 00 00 01 00 00 06 01 01 01 01 01 0a 14 00 00 00 77

此处的起始“标头”为0x71和0xc8,最后202个字节为201个字节的校验和值。

目标是通过检查start是否包含0x71和0xc8来获取有效的202字节数据

我的阅读器外观如何,如何以最佳方式改进?

void readSerial()
{
  if (Serial.available() > 0) {
    data_length = Serial.readBytes(data, 202);
       while (Serial.available()) {
      delay(2);
      Serial.read();
    }
  }
  else data_length = 0;
}

0 个答案:

没有答案