嵌入式技术论坛
直播中

kasdlak

9年用户 1309经验值
擅长:光电显示
私信 关注
[问答]

请教大神怎样去解决FreeModbus丢包的问题呢?

主机给从机发送poll(01 03 00 00 00 0A C5 CD),偶尔有几包数据没回复,不知道有没有遇到相同问题

2.jpg

3.jpg

注意问题:

1、系统滴答时钟保证为1ms,Tick frequency 配置为1000

2.jpg

a、freeModbus的定时器时间必须准确,接收串行数据是通过定时器触发接收的,大于19200的波特率的定时器配置为1750us,定时器配置的时间为2.75ms,最终为2ms配置

2.jpg

问题追踪和解决:

1、通过排查发现出错没有回复的数据是CRC16校验出错
a、接收到串口接收数据的触发事件,数据缓冲中的数据不对,我发送的数据为(01 03 00 00 00 0A C5 CD)

2.jpg

3.jpg

回帖(1)

CDCNKA

2023-2-3 11:41:52
2.jpg
举报

更多回帖

发帖
×
20
完善资料,
赚取积分