modbus-rtu 通讯规约
通讯方式:rs-485 半双功
校验方式:crc16
停止位:2位
编写:孙可
编程思路:
1.串口中断允许自动接收总线上的信息,当接收的字节后超过3.5个字节时间没有新的字节认为本次接收完成,接收完成标志置1;如果接收完成标志已经置1又有数据进来则丢弃新来的数据。
2.串口接收数据的处理, 当接收完成标志置1进入接收数据处理,
(1)首先判断接收的第一位数据与本机地址是否相同,如果不相同清空接收缓存不送任何信息;
(2)接收的第一位数据与本机地址相同,则对接收缓存中的数据进行crc16校验,如果接收的校验位与本校验结果不相同清空接收缓存不发送任何信息;
(3)如果crc16校验正确则根据数据串中的命令码进行相应的处理。
附件是是IAR4.42的完整工程