微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于RS-485总线的温湿度监测系统——(RS485总线系统应用之5)

基于RS-485总线的温湿度监测系统——(RS485总线系统应用之5)

时间:12-15 来源:互联网 点击:

End If

End Sub

Function CRC16(Data() As Byte, No As Integer, CRC16Lo As Byte, CRC16Hi As Byte) As String’CRC校验函数

Dim CL As Byte, CH As Byte, SaveLo As Byte, SaveHi As Byte

CRC16Hi = &HFF’为16位CRC校验寄存器赋初始值FFFF

CRC16Lo = &HFF

CH = &HA0’为16位CRC校验多项式赋初始值A001

CL = &H1

For i = 1 To No

CRC16Lo = CRC16Lo Xor Data(i - 1)’每一个数据与CRC校验寄存器进行异或

For j = 1 To 8

SaveHi = CRC16Hi

SaveLo = CRC16Lo

CRC16Hi = CRC16Hi 2’高位右移一位

CRC16Lo = CRC16Lo 2’低位右移一位

If ((SaveHi And &H1) = &H1) Then’如果高位字节最右一位为1

CRC16Lo = CRC16Lo Or &H80’则低位字节最左一位补1,否则自动补0

End If

If ((SaveLo And &H1) = &H1) Then’如低位字节最右一位为1,则与CRC校验多项式异或

CRC16Hi = CRC16Hi Xor CH

CRC16Lo = CRC16Lo Xor CL

End If

Next j

Next i

End Function

4.结束语

经过对软件系统的多次修改和完善,本系统已经于2009年10月交付用户使用。受篇幅限制,以上仅扼要介绍了系统的主要设计思路与方法,未能将程序清单全部列出。如果发现本文或在应用中存在错误,欢迎指正。

参考文献:

① 《微型计算机原理与接口技术》中国科学技术大学出版社作者:周荷琴 吴秀清

② 《单片机原理及串行外设接口技术》北京航空航天大学出版社作者:李朝青等

③ 《RS-232串口通信大全》下载网址:http://download.csdn.net/source/2443662

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top