串口通讯关于超时和多字节问题
串口通讯:1)超时判断;2)多字节传送处理。 这是我上位机设计需要考虑的问题。
串口操作》:
1)超时:如一问一答,下位机若一直没有应答,则上位机就会等待很长时间,如何限制这个等待时间。
2)多字节传送:
如读取下位机存储的数据,数据存储是按页存储,双方通讯约定有多少页,每页数据多少。多字节的数据传送中,如何处理以确保通讯数据准确。
初步想法是 先通讯确定传送多少页,每页多少数据;然后一页一页数据读取,若数据不符合校验则丢弃,要求重发;否则进入下一页读取,直到读取约定的页数。
[解决办法]
1、超时时间一般为3-5个bit间数据传输的时间
2、数据传输,单位为帧,一帧数据数据长度你自己定义,一般不要超过100个为佳,每帧数据加校验算法,如CRC16.如果出错,重发,没有问题,直到数据全部发送结束。