- 相關推薦
計算法簡單實現crc校驗
前一段時間做協(xié)議轉換器的時間用到CRC-16校驗,查了不少資料發(fā)現都不理想。查表法要建表太麻煩,而計算法覺得那些例子太羅嗦。最后只好自己寫了,最后發(fā)現原來挺簡單嘛:)兩個子程序搞定。這里用的多項式為:
CRC-16 = X16 + X12 + X5 + X0 = 2^0+2^5+2^12+2^16=0x11021
因最高位一定為“1”,故略去計算只采用0x1021即可
CRC_Byte:計算單字節(jié)的CRC值
CRC_Data:計算一幀數據的CRC值
CRC_High CRC_Low:存放單字節(jié)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
Delphi實現巷道貫通解算算法04-28
基于matlab的物料大小分級算法的實現05-02
DLG內插等高線算法實現04-29