syf
syf
陆战之王十三爷

注册于 8 months ago

回答
5
文章
0
关注者
0

测试了一下烧别的我自己写的.BIN文件代码都兼容,只有他的不行,,,rt官方这个不是兼容全系F4的QAQ

我昨天也出现同样的问题了,开始也以为是网络和他冲突了,但是我的其实是modbus 前面数据和后面数据中间出现了传输过程中加入的乱码,比如前面数据是1234,第二组数据是4321,但是他们中间多了个FF 现在数据流就变成1234 FF 4321 ,就导致他的读取全部错位,使得缓冲区里数据一直没有提取干净,从而一直堆积最后就溢出了。可以在modbus初始化的时候自己添加一句纠错,如下图
image.png

然后就解决了,我也是用网络+modbus读取15个传感器数据,通过这种方法来解决传输过程中信号线里多的乱码。

希望能解决你的问题

我昨天也出现同样的问题了,开始也以为是网络和他冲突了,但是我的其实是modbus 前面数据和后面数据中间出现了传输过程中加入的乱码,比如前面数据是1234,第二组数据是4321,但是他们中间多了个FF 现在数据流就变成1234 FF 4321 ,就导致他的读取全部错位,使得缓冲区里数据一直没有提取干净,从而一直堆积最后就溢出了。可以在modbus初始化的时候自己添加一句纠错,如下图image.png
然后就解决了,我也是用网络+modbus读取15个传感器数据,通过这种方法来解决传输过程中信号线里多的乱码。

希望能解决你的问题

image.png
是libmodbus里面加上这段代码,因为传输过程中信号线中可能会传过来乱码,导致发过来10个数你可能只取走了4个然后慢慢积累导致串口缓冲区填满,加上这个错误恢复模式,目前测试1小时没出现bug,明天跑长期试试

回到
顶部

发布
问题

投诉
建议