600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 16位CRC循环冗余校验码生成函数

16位CRC循环冗余校验码生成函数

时间:2020-09-01 14:22:56

相关推荐

16位CRC循环冗余校验码生成函数

16位的CRC校验码生成,可使用以下函数:

//16位CRC校验码生成//返回值:CRC校验码unsigned int CRC_check(unsigned char *addr,int num){unsigned int crc=0xffff;unsigned char i, p;for(p=0;p<num;p++){crc = crc^(*addr++);for(i = 0;i<8;i++){if(crc & 0x0001) crc = (crc>>1)^0xa001;else crc >>= 1;}}return(crc); }

示例:

//对数组modbus_data_tx[ ]生成校验码modbus_data_tx[8]={0X01, 0X03, 0X00, 0X00, 0X00, 0X07};unsigned int CRC_code;CRC_code = CRC_check(modbus_data_tx,6);//生成CRC校验码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。