background image

 

1 RS485 串口通信电路设计

2 基于 MODBUS 协议的通信程序设计

2.1 MODBUS 协议的主从编程方法

触摸屏和

DSP 按照 MODBUS 协议通信,将触摸屏作为主站,DSP 作为从

站,串口连接采用

RS485.触摸屏和 DSP 的通信是有触摸屏发起的,DSP 采用中

断方式响应触摸屏发送来的数据,非通信情况下

DSP 可以做其它更多的工作。

当触摸屏有数据发送给

DSP 时,触发 DSP 接收中断,DSP 进入接收中断服务子

程序,此时,触摸屏发送给

DSP 的是一个完整的数据帧,至少包含 8 个字节的

数据长度,在完整读取这组数据后,

DSP 对其进行处理。首先进行从设备站号匹

(本文中 DSP 站号设为 07),如果匹配不成功则 DSP 不响应触摸屏的查询,

DSP 不回送任何信息;如果匹配成功则进行 CRC 校验,若 CRC 校验出错,则查
询失败,不返回数据信息

;若 CRC 校验正确,则进行下一步的命令解析,并返

回给触摸屏对应的数据信息。

下面简要介绍如何从

DSP 中读取几个模拟量并显示在触摸屏上,读可读写

模拟量寄存器的功能码是

03.

触摸屏发送的命令为:

[设备地址] [功能码 03] [起始寄存器地址高 8 位] [低

8 位] [读取的寄存器数高 8 位] [低 8 位][CRC 校验的低 8 位] [CRC 校验的高 8 位].

例如:

07 03 00 03 00 02 34 6D.此命令说明要从 DSP 的起始地址为 00 03 的

寄存器中读取两个模拟量。

此时,若设备地址匹配且

CRC 校验正确,则 DSP 会返回数据给触摸屏。

DSP 返回的数据为:[设备地址] [功能码 03] [返回的字节个数][数据 1][数据

2]…[数据 n][CRC 校验的低 8 位] [CRC 校验的高 8 位].