crc16 with word & byte--查表法

#1, BYTE CRC

参考:

https://blog.csdn.net/m0_37697335/article/details/113267780?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522F1451286-1B97-44AA-A5FC-386045B4939B%2522%252C%2522scm%2522%253A%252220140713.130102334...%2522%257D\&request_id=F1451286-1B97-44AA-A5FC-386045B4939B\&biz_id=0\&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend\~default-1-113267780-null-null.142^v100^pc_search_result_base9\&utm_term=crc16 modbus查表法 c语言\&spm=1018.2226.3001.4187
注意表格不对,会有错误。

/MODBUS******************

  • Name: CRC-16/MODBUS x16+x15+x2+1

  • Width: 16

  • Poly: 0x8005

  • Init: 0xFFFF

  • Refin: True

  • Refout: True

  • Xorout: 0x0000

  • Note:

    *****************************************************************************/

    WORD CRC_GetModbus16(BYTE * pData, WORD nLength)

    {

    WORD cRc_16 = 0xFFFF, i;

    BYTE temp;

    for (i = 0; i < nLength; ++i)

    {

    temp = (BYTE)(cRc_16 & 0xFF);

    cRc_16 = (WORD)((cRc_16 >> 8) ^ crc16tab[(temp ^ pData[i]) & 0xFF]);

    }

    return cRc_16;

    }

    #2, WORD CRC

相关推荐
莎士比亚的文学花园37 分钟前
硬件通信——UART串行口
单片机·嵌入式硬件
BackCatK Chen1 小时前
STM32保姆级入门教程|第4章:GPIO输入+外部中断 实现按键控制LED(手把手全流程)
stm32·单片机·外部中断·按键控制 led·stm32cubeid·gpio 输入
悠哉悠哉愿意2 小时前
【单片机学习笔记】第十二届国赛经验复盘
笔记·单片机·嵌入式硬件·学习
rit84324992 小时前
STC8单片机模拟AD转换程序(NTC测温)
单片机·嵌入式硬件
我不是程序猿儿2 小时前
【嵌入式】编码器计数倍频,机械一格与电气计数
stm32·单片机·嵌入式硬件·学习
Hello World . .2 小时前
51单片机基础外设:GPIO(以LED、按键、数码管为例)
单片机·嵌入式硬件
Flamingˢ3 小时前
基于ARM的裸机程序设计和开发(三):C编程基础与Zynq裸机开发常用方法
c语言·arm开发·单片机
Crazyong5 小时前
FreeRTOS-CPU使用率统计
单片机·嵌入式硬件
_Ningye12 小时前
STM32 — 6.1 TIM定时中断
stm32·单片机·嵌入式硬件
FreakStudio13 小时前
把 Flask 搬进 ESP32,高中生自研嵌入式 Web 框架 MicroFlask !
python·单片机·嵌入式·cortex-m3·异步编程·电子diy