suoma 发表于 2017-4-28 18:26:51

modbus数据通过串口输出2串后不全

arduino作为监听设备,收取modbus主从通信数据,一串数据4帧,每帧数据长度不一,预计收取保存到SD卡里面,
今天只是想通过串口看一下是否完整,结果两串数据后就开始漏了

整个loop()里面就这么一个函数,
while (Serial.available() )
{
Serial.println(Serial.read(),HEX);
Serial.println();
delay(4);
}

后来加了句清除缓冲区操作,问题一样
while(Serial.read() >= 0){}


其中一帧数据7E7EE7F0开头,字符长度20,主程序如下,到一直无输出,直接在arduino串口中输入如下开头的20字符串,立马输出显示,不知道什么原因?有没有SD卡保存过modbus数据的,指导一下
while (Serial.available() )
        {
   
    char inChar = Serial.read();
   inString += (char)inChar;
   delay(4);
   if (inString.startsWith("7E7EE7F0") && inString.length() == 20)
       {
         Serial.print(inString);
       
        }
页: [1]
查看完整版本: modbus数据通过串口输出2串后不全