完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
今天在写MLX90614的驱动程序,里面涉及一个CRC校验不是很懂,度娘了也是云里雾里的,在这里求助下大神
数据手册里面写了CRC校验的多项式为:X8+X2+X1+1。然后后面数据手册给出了一个IIC写入数据的例子如图2: 请问下里面的校验码PEC 0X48是怎么计算出来的?
|
|
相关推荐
7个回答
|
|
The PEC calculation includes all bits except the START,REPEATED START, STOP, ACK, and NACK bits.
|
|
|
|
不能沉啊 不能沉啊
|
|
|
|
原理说出来其实都差不多,很难理解,推荐看看代码,仿真下试试看
|
|
|
|
不错的文件,值得收藏
|
|
|
|
不错的文件,值得收藏
|
|
|
|
不错的文件,值得收藏
|
|
|
|
//G(x)= x8+x2+x+1,
数据宽度为8 poly值为 0x07 CRC寄存器初始值0x00 结果异或值 0x00 /* 建立一个长度为10的字符数组,按照16进制依次赋值 0xB4 0x22 0x07 0xc8 赋值 将字符数组的地址给下面的函数的第一个形参,第二个形参赋值为4,调用函数后的返回值为0x48 */ unsigned char CRC8(unsigned char *ptr,unsigned char len) { unsigned char crc; unsigned char i; crc = 0; while(len--) { crc ^= *ptr++; for(i = 0;i < 8;i++) { if(crc & 0x80) { crc = (crc << 1) ^ 0x07; } else crc <<= 1; } } return crc; } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
621 浏览 1 评论
1962 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1068 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1487 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1924 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 15:12 , Processed in 0.584903 second(s), Total 85, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号