对于 CRC 校验的 学习笔记 您所在的位置:网站首页 电容屏驱动芯片 对于 CRC 校验的 学习笔记

对于 CRC 校验的 学习笔记

2023-06-04 06:33| 来源: 网络整理| 查看: 265

参考资料

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; }

计算结果:

img

CRC 库代码分析

库中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 实验室设备网 版权所有