- 論壇徽章:
- 0
|
函數(shù)在使用前需要聲明,TC編譯器有點(diǎn)過時(shí)- #include <stdio.h>
- unsigned int calcrc(unsigned char buf[],unsigned char len);
- main()
- {
- unsigned char buf[] = "ABCDEFGH12345678";
- unsigned char len = 16;
- unsigned int retu_crc;
- retu_crc = calcrc(buf, len);
- }
- unsigned int calcrc(unsigned char buf[],unsigned char len)
- {
- const unsigned int crc_gen = 0xa001;
- unsigned int crc;
- unsigned char i,j;
- crc = 0xffff;
- if (len != 0)
- {
- for(i = 0;i < len;i++)
- {
- crc ^= (unsigned int)(buf[i]);
- for(j = 0;j < 8;j++)
- {
- if (crc & 0x01)
- {
- crc >>= 1;
- crc ^= crc_gen;
- }
- else
- crc >>= 1;
- }
- }
- }
- return crc;
- }
復(fù)制代碼 |
|