Modbus RTU 判断一帧数据接收完成,是不是就用定时器判断接收到的两字符时间间隔是否大于传送3.5个字符时间呀?但这样的话,接收完一帧数据还必须要花费大概1.45个毫秒(对波特率19200,28/19200)来判断接收完毕了,才能去处理接收到的数据,会不会影响下一帧... Modbus RTU 判断一帧数据接收完成,是不是就用定时器判断接收到的两字符时间间隔是否大于传送3.5个字符时间呀?但这样的话,接收完一帧数据还必须要花费大概1.45个毫秒(对波特率19200,28/19200)来判断接收完毕了,才能去处理接收到的数据,会不会影响下一帧数据的接收呀?一般发送两帧数据之间的时间间隔是多少呀?有没有其他的判断帧接收完毕的方法呀?谢谢
一般不会的影响下一帧的接收。
modbus通讯,总线上只有一个主站,如果从站在3.5个字符的时间内收到了数据,那这个一定不是主站发出来的,否则就是主站出了问题、或者数据被干扰了。
如果是485总线,半双工通讯,由于是问答式的协议,所以每次间隔你要考虑收、发两帧数据时间,19200的波特率的话,时间也至少在百毫秒这个数量级,适当的加长些时间就可以,数据的处理时间相对而言可以忽略。
232连接的话,间隔大于3.5个字符时间就够了。