cal_crc16.c

来自「用MSP430F149控制普通射频芯片CC1000的双向通信程序(串口、液晶显示」· C语言 代码 · 共 18 行

C
18
字号
#include "CRC16_Table.h"
typedef unsigned char uchar;
typedef unsigned int  uint;

uint Cal_CRC16(uchar *ptr, uchar len) 
{
    uint crc16 = 0;
    uchar data;
    
    while(len--) 
    {
        data = (crc16 & 0xff00) >> 8;     /* 以8位二进制数的形式暂存CRC的高8位 */
        crc16 <<= 8;                      /* 左移8位,相当于CRC的低8位乘以256 */
        crc16 ^= CRC16table[data^(*ptr++)]; /* 高8位和当前字节相加后再查表求CRC,再加上以前的CRC */
    }
    return(crc16);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?