您好!
我们使用 lwip Stack 在 TCP 上实现了 Modbus 协议、而不使用任何 RTOS。 我们的控制每1秒发送一次 Modbus 查询0x03 (读取保持寄存器)和0x10 (写入多个寄存器)。
为了进行测试、我们使用 Modbustools.com 上的 PLC 从 Modbus 仿真器并进行控制。
在卤素模式下、在 EMAC 选项卡下、我们将"接收数据包缓冲区的数量"配置为10。 我们还通过将缓冲区设置为15和30进行了测试、在这两种情况下、控制卡在接收中断中的时间都不到20秒。
我们观察到控制器正常工作几秒钟(反复观察到的控制器工作大约 22秒),然后控制器 在 Rx_Interrupt 处理程序循环中永久挂起,是否有人可以帮助解决此问题?
下面附上了查询和响应日志。 下面的日志中突出显示了最后的查询和响应