MODBUS常用的CRC16校验函数实测可用
【MODBUS常用的CRC16校验函数实测可用】MODBUS常用的CRC16校验,多项式A001,代码实测可用。
#include
//A001
unsigned int CRC16(unsigned char *buf,unsigned char length)//CRC16计算
{
unsigned char i;
unsigned int crc=0xFFFF;
while(length--)
for(crc^=*(buf++),i=0;
i<8;
i++)
crc=(crc&0x0001)?(crc>>1)^0xA001:crc>>1;
return crc;
}
int main () {
printf("hello https://tool.lu/\n");
unsigned char a[8]={0xFF,0x17, 00, 00, 00, 01, 00, 00};
//待测数组
unsigned int b=0;
b= CRC16(a,6);
printf("\r\n 本次CRC校验结果是:0x%02x",b);
return 0;
}
推荐阅读
- 昨夜小楼听风
- 为什么你的路演总会超时()
- 深入理解Go之generate
- 遗憾是生活的常态,但孝顺这件事,我希望每一个人都不留遗憾
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 唱歌教学(导致嗓音损坏的几个常见的错误唱歌方法!)
- 迷茫是人生常态
- Hive常见问题汇总
- 数组常用方法一
- 【原创】君子之心,常怀敬畏