嵌入式技术论坛
直播中

chunhuahua

9年用户 1407经验值
擅长:接口/总线/驱动
私信 关注
[问答]

modbus通讯会出现读取失败是什么情况

实际情况:4路modbus通讯和一路串口通讯。

4路modbus都是使用的libmodbus协议栈,串口使用的serial_v1的驱动。

在实际使用中4路modbus都会出现读取失败的情况,大概一两分钟读取失败一次。

串口serial_V1驱动,采用的是DMA接收和中断发送。调试中初步判断是因为串口发送中断频次较高

导致影响了modbus通讯(串口通讯的数据量较高),有什么方法可以让modbus线程与串口的发送线程互不影响,就是我读modbus的时候,就禁止串口发送中断或者串口这一块暂时不执行,等modbus通讯完成在进行串口通讯

回帖(2)

刘燕

2022-11-9 14:07:38
发送可以用DMA吗?
你也可以试着关中断看看效果如何。
举报

chunhuahua

2022-11-9 14:07:49
那个serial_v1给的例程里面没有DMA发送啊,都是轮询发送。
如果我开关中断的话,那modbus不也运行不了了吗
举报

更多回帖

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