前言
使用AR502H进行485数据通信,无校验情况下数据收发正常,有校验(奇校验或偶校验)的情况下,发送正常,高位接收不正确,本篇文章阐述其原因,并予以解决。
一、问题描述
使用AR502H进行DL/T645-2007电表数据读取,并使用485转换器进行网络检测。DL/T645-2007要求偶校验。
发送数据如下:
FE FE FE FE 68 63 04 09 39 00 00 68 11 04 33 33 33 33 5A 16
传感器回复数据如下:
7E 7E 7E 7E 68 63 04 09 39 00 00 68 11 08 33 33 33 33 45 3C 39 33 4B
16
可看到接收数据的数量没有错误,但每个字节的高位都被设置为0。
二、问题解决
1、原始驱动程序
原始驱动程序来源于网络,其中有关奇偶校验部分的设置程序如下: