微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > bq76930003 crc 效验算法

bq76930003 crc 效验算法

时间:10-02 整理:3721RD 点击:

 看了数据手册,没明白这个CRC算法,知道的大神能说明一下吗? 我是单字节读取,CRC应寄存器地址和读取的数据计算,但是具体怎么计算呢?红线标注的这个多项式中的X又代表哪项的值呢?

电池管理

*************************************************************************** //CRC效验程序 ***************************************************************************/ unsigned char cal_crc(unsigned char *ptr, unsigned char len) { unsigned char i; unsigned char crc=0; while(len--!=0) //5次循环 { for(i=0x80; i!=0; i/=2) //8次for循环 {if((crc&0x80)!=0) //判断最高位是否是1 {crc*=2; crc^=0x07;} /* 余式CRC乘以2再求CRC */else crc*=2;if((*ptr&i)!=0) crc^=0x07; /* 再加上本位的CRC */ } ptr++; } return(crc); }

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top