串口中断接收如何判断数组接收完毕呢?

2019-08-18 21:22发布

串口中断接收如何判断数组接收完毕呢?开发板上的例程是是判断最后2个字节是0x0A,0x0D, 而我接收到得数据最后2位就是实际的数值。0x00 ,0x23, 或者0x00 ,0x37 这样不确定的数值,怎么判断数组接收结束了?是最后一个接收到的是'' 吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
esteem
2019-08-19 04:15
串口的收发是建立连接后就可以不停得发送和监听接收的数据的,接收到的数据字段长度为0就表示目前没有数据发送过来,就是上一次数据已经发送完了。

最好的方法还是自己在发送数据的时候在结尾加个结束标致,这样,读的时候就可以判断数据是否接收完整还是丢失了。

你可以判断最后数据接收之后的一个时间长短来判定上一个指令是否发送完成,
不过这样也算不上准确,
最好是双方有协商一致的指令才可能准确判断是不是发送完毕,
比如有结束标志,或者知道某个指令的固定长度等。

一周热门 更多>