uint32 CRC(uint8 *data,uint32 len,uint8 width,uint32 poly,uint32 Init,bool RefIn,bool RefOut,uint32 XorOut)
{
uint32 i,j,crc,topBit;
uint32 dat,wideMask;
uint8 bit;
topBit=1ul<<(width-1);
wideMask=topBit|(topBit-1);
crc=wideMask&Init;
poly&=wideMask;
XorOut&=wideMask;
for(i=0;i<len;i ){
dat=*data ;
if(RefIn)dat=(uint8)reflect(dat,8);
for(j=0;j<8;j ){
bit=0;
if(crc&topBit)bit=1;
if(dat&0x80)bit^=1;
dat<<=1;
crc<<=1;
if(bit)crc^=poly;
}
}
crc&=wideMask;
if(RefOut)crc=reflect(crc,width);
return crc^XorOut;
}
CRC效验和计算软件 下载地址
参考网址:http://www.skychip.net/post/2012/06/26/1.aspx
CRC16效验和生成算法 - 啊和的博客
微信小程序开发视频
华芯微特下载器软件SYNWIT_ISP_V2.2.3(带SWM220)
示波管电视机电路图
ME32F030xx开发资料(2020-05-09更新)
KOP9967 控制步进马达程序
emWIN5.12中文手册
2020年最新KEIL注册机
小巧好用的绿色超级终端软件 Serial串口调试终端 HyperTerminal