对于 CRC 校验的 学习笔记 | 您所在的位置:网站首页 › 电容屏驱动芯片 › 对于 CRC 校验的 学习笔记 |
参考资料
CRC校验原理及实现 - 知乎 (zhihu.com) data[i] = i*5; printf("%02x ", data[i]); } printf("\n"); crc = crc8_maxim(data, LENGTH); printf("CRC-8/MAXIM:%02x\n", crc); return 0; } 计算结果: 库中crc函数基本相似,一通百通。 /****************************************************************************** * Name: CRC-7/MMC x7+x3+1 * Poly: 0x09 * Init: 0x00 * Refin: False * Refout: False * Xorout: 0x00 * Use: MultiMediaCard,SD,ect. *****************************************************************************/ uint8_t crc7_mmc(uint8_t *data, uint16_t length) { uint8_t i; // 这里的初值为 Init = 0x00 uint8_t crc = 0; // Initial value while(length--) { // 第一次进来,crc = 0,异或上任意值,crc = 任意值 // 后续数据进行异或,因为前一次数据的后7位补0,相当于异或上这些0,就是把数据加到上次的数据末尾 // 最后一个数据加在末尾后,在下面的for循环,把后面的7个零补回来了。 crc ^= *data++; // crc ^= *data; data++; for ( i = 0; i |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |