test_c.c
来自「单片机下CRC7校验码生成程序」· C语言 代码 · 共 52 行
C
52 行
#define uchar unsigned char
uchar crcbuff[]={0x7b,0,0,0,0,0,0};
uchar *ptr;
uchar crc;
uchar crc7(uchar *pp,uchar len);
uchar crc7end(uchar *pp);
void main (void)
{
ptr=crcbuff;
crc=crc7(ptr,5);
*ptr=(crc<<1)|1;
ptr=crcbuff;
crc=crc7(ptr,5);
*ptr=crc7end(ptr);
while(1);
}
uchar crc7end(uchar *pp)
{
uchar i;
for(i=0x80;i!=1;i>>=1)
{
if((crc&0x40)!=0) {crc<<=1;crc^=9;}
else crc<<=1;
if((*pp&i)!=0) crc^=9;
}
ptr++;
return(crc);
}
uchar crc7(uchar *pp,uchar len)
{
uchar i;
crc=0;
while(len--)
{
for(i=0x80;i!=0;i>>=1)
{
if((crc&0x40)!=0) {crc<<=1;crc^=9;}
else crc<<=1;
if((*pp&i)!=0) crc^=9;
}
pp++;
}
ptr = pp;
return(crc);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?