- 相关推荐
计算法简单实现crc校验
前一段时间做协议转换器的时间用到CRC-16校验,查了不少资料发现都不理想。查表法要建表太麻烦,而计算法觉得那些例子太罗嗦。最后只好自己写了,最后发现原来挺简单嘛:)两个子程序搞定。这里用的多项式为:
CRC-16 = X16 + X12 + X5 + X0 = 2^0+2^5+2^12+2^16=0x11021
因最高位一定为“1”,故略去计算只采用0x1021即可
CRC_Byte:计算单字节的CRC值
CRC_Data:计算一帧数据的CRC值
CRC_High CRC_Low:存放单字节CRC值
CRC16_High CRC16_Low:存放帧数据CRC值
;<>-------------------------------------------------------------
; Function: CRC one byte
; Input: CRCByte
; Output: CRC_High CRC_Low
;<>-------------------------------------------------------------
CRC_Byte:
clrf CRC_Low
clrf CRC_High
movlw 09H
movwf v_Loop1
movf CRCByte, w
movwf CRC_High
CRC:
decfsz v_Loop1 &nbs
[1] [2] [3] [4] [5]
【计算法简单实现crc校验】相关文章:
简单凸多边形中轴算法改进及实现04-28
阴影图算法的改进与实现05-02
线源扩散模型的建立及算法实现05-02
基于图像对的体视显示算法研究与实现04-29
CORDIC算法实现GPS信号捕获研究04-28
PSORP航迹规划算法设计与实现04-27
Delphi实现巷道贯通解算算法04-28
基于matlab的物料大小分级算法的实现05-02
DLG内插等高线算法实现04-29
静电放电模拟器校验系统的设计与实现05-01