linux串口通信,波特率停止位设置一样的时候,在while read时候,总是会偶尔就出现数据排列混乱,或者缺少
例如串口助手每1ms,发送数据 1,2,3,4,5,6,7,8,9
自己在while中read(fd,buf,strlen(buf))>0时候进行数据读取打印,通常会出现 有时候数据就成了例如5 6 7 8 9 3 5 这种混乱的情况
串口通信双方在通信前应制定好通信协议(一般增加首尾标志即可),规定好数据的起始和结束标志,串口当读到完整的起始和结束标志之后,才认定读完一条完整的数据。
如果知道包长的话,根据包长度来确认数据接收完。