- 8
- 0
- 约3.17万字
- 约 87页
- 2017-05-07 发布于湖北
- 举报
自己动手学习单片机系列讲座CRC算法详解研讨
crcReg寄存器初始值始设为0; crcReg异或要计算的字节(字节视情况移位) 对要计算的8bit数据左移1位,若移出位为1,则异或poly。 若未处理完8位数据,返回第3步继续 返回CRC结果,不要异或xorOut; 生成“左移CRC查询表”算法 生成XMODEM查询表 #includestdio.h typedef unsigned char uint8; typedef unsigned short int uint16; uint16 crcTable[256]; //生成单个字节CRC16查询表 uint16 crc16Byte(uint8 mCode,uint16 poly) { uint16 crcReg=0x0000; int i; crcReg ^=mCode8; //需要左移8位 for(i=0;i8;i++) { if(crcReg 0x8000) { crcReg = 1; crcReg ^= poly; } else crcReg = 1; } return(crcReg); } //生成CRC16查询表 void crc16Table(void) { uint8 mCode=0x0
原创力文档

文档评论(0)