crc.c

来自「该工程是自己在KEIL环境下写的关于C8051F020的Bootloader,调」· C语言 代码 · 共 25 行

C
25
字号

#include "includes.h"


UINT16 CRC16Cal(UINT8 *ptr, UINT16 len) 
{
    UINT8 i;
    UINT16 crc=0;
    while(len--!=0) {
        for(i=0x80; i!=0; i/=2) {
            if((crc&0x8000)!=0){//余式CRC 乘以2 再求CRC
		        crc*=2;
			    crc^=0x1021;
		    }  
            else{
		        crc*=2;
		    }
            if((*ptr&i)!=0){// 再加上本位的CRC
	 	        crc^=0x1021;  
            }
        }
        ptr++;
    }
    return(crc);
}

⌨️ 快捷键说明

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