1.STM32运行Modbus RTU程序,在使用Modbus Poll时出现功能码异常的问题:
这是使用串口助手收发信息:
» 01 03 00 00 00 0A C5 CD
« 01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A3 67
» 01 03 00 00 00 0A C5 CD
« 01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A3 67
这是使用Modbus Poll收发信息:
Tx:000000-01 03 00 00 00 0A C5 CD
Rx:000001-01 20 11 00 00 00 00 00 00 00 00 00 00 B4 F6
Tx:000002-01 03 00 00 00 0A C5 CD
Rx:000003-01 20 11 00 00 00 00 00 00 00 00 00 00 A3 F6
Tx:000004-01 03 00 00 00 0A C5 CD
Rx:000005-01 20 11 00 00 00 00 00 00 00 00 00 00 A3 F6
可以看到Modbus Poll收发信息功能码本该是03,但是收到的是20。
2.排除发现Modbus Poll设置时校验位被设置为even parity,修改为none后数据收发正常。
圈中地方修改为:
None选项