|
通信CRC校驗(yàn)是必須的,為了降低通信長(zhǎng)度,采用了CRC8校驗(yàn)算法。
算法順利通過(guò)了測(cè)試,附有源程序,共享出來(lái)給大家用啊
0.png (50.88 KB, 下載次數(shù): 70)
下載附件
2017-9-21 20:39 上傳
0.png (110.31 KB, 下載次數(shù): 70)
下載附件
2017-9-21 20:38 上傳
源程序如下:
- /* 函數(shù)名: cal_crc8_07
- * 參數(shù)[in]: len 待校驗(yàn)數(shù)據(jù)長(zhǎng)度
- * 參數(shù)[in]: ptr 待校驗(yàn)數(shù)組數(shù)據(jù)首地址
- * 返回值[out] : 返回ptr為首地址數(shù)據(jù)長(zhǎng)度為len的 CRC8的檢驗(yàn)碼(多項(xiàng)式為 07)
- */
- unsigned char cal_crc8_07(unsigned char len , unsigned char *ptr)
- {
- unsigned char i;
- unsigned char crc=0;
- while(len--!=0)
- {
- for(i=0x80; i!=0; i=i>>1)
- {
- if((crc&0x80)!=0)
- {
- /* 余式CRC乘以2再求 CRC */
- crc*=2;
- crc^=0x07;
- }
- else
- {
- crc*=2;
- }
- if((*ptr&i)!=0)
- crc^=0x07; /* 再加上本位 CRC */
- }
- ptr++;
- }
- return(crc);
- }
復(fù)制代碼
所有資料51hei提供下載:
CRC8校驗(yàn)方法.zip
(5.76 MB, 下載次數(shù): 22)
2017-9-21 19:27 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|