本帖最后由 wxzan 于 2012-2-24 14:55 编辑
寻Modbus RTU例程未果,自己写了一个,未严格遵循Modbus规约,但测试正常。与组态王通讯2小时,无误码。
使用M0的UART FIFO和TimeOut实现Modbus RTU功能3和功能6。
Function 03(读寄存器)和Function 06(写寄存器)命令长度都是8位。设置UART FIFO=8,减少中断次数。Modbus RTU 以3.5个字符时间的停顿间隔开始,TimeOut=35 超时计数器时钟与波特率相同(1+8+1)*3.5=35。
ModbusRTU.zip
(1.51 MB)
|