仪器社区

Modbus RTU 帧接收完毕如何判断

lieyongchan 2012-05-07
Modbus RTU 判断一帧数据接收完成,是不是就用定时器判断接收到的两字符时间间隔是否大于传送3.5个字符时间呀?但这样的话,接收完一帧数据还必须要花费大概1.45个毫秒(对波特率19200,28/19200)来判断接收完毕了,才能去处理接收到的数据,会不会影响下一帧... Modbus RTU 判断一帧数据接收完成,是不是就用定时器判断接收到的两字符时间间隔是否大于传送3.5个字符时间呀?但这样的话,接收完一帧数据还必须要花费大概1.45个毫秒(对波特率19200,28/19200)来判断接收完毕了,才能去处理接收到的数据,会不会影响下一帧数据的接收呀?一般发送两帧数据之间的时间间隔是多少呀?有没有其他的判断帧接收完毕的方法呀?谢谢
评论
全部评论
Sy__永远九姐姐
modbus通讯,总线上只有一个主站,如果主、从站在3.5个字符的时间内没有收到数据,判断接受结束。如果是485总线,半双工通讯,由于是问答式的协议,所以每次你收到数据处理完后延时3.5个字符的时间在发。适当的加长些时间是可以的,数据的处理时间相对而言可以忽略。
5 0 2017-10-14 0条评论 回复
爱武汉痛武汉
判断一帧是否接收完,是根据收到的数据长度来处理的。modbus是问答式的,你发送数据的时候就应该知道收多少了!
15 0 2012-05-08 0条评论 回复
youchengyin
一般不会的影响下一帧的接收。
modbus通讯,总线上只有一个主站,如果从站在3.5个字符的时间内收到了数据,那这个一定不是主站发出来的,否则就是主站出了问题、或者数据被干扰了。
如果是485总线,半双工通讯,由于是问答式的协议,所以每次间隔你要考虑收、发两帧数据时间,19200的波特率的话,时间也至少在百毫秒这个数量级,适当的加长些时间就可以,数据的处理时间相对而言可以忽略。
232连接的话,间隔大于3.5个字符时间就够了。
18 0 2012-05-11 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论