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

相关推荐
J-TS2 小时前
线性自抗扰控制LADRC
c语言·人工智能·stm32·单片机·算法
撩妹小狗4 小时前
单片机中断原理
stm32·单片机
上海合宙LuatOS5 小时前
LuatOS核心库API——【hmeta 】硬件元数据
单片机·嵌入式硬件·物联网·算法·音视频·硬件工程·哈希算法
白太岁8 小时前
操作系统开发:(7) 优先级反转与继承、TLS 及核亲和性
c语言·单片机·系统架构
嵌入式×边缘AI:打怪升级日志9 小时前
环境监测传感器从设备程序设计(ADC采集与输出控制)
单片机·嵌入式硬件·fpga开发
张槊哲9 小时前
IIC时序图详解
单片机
Hello_Embed9 小时前
Modbus 传感器开发:STM32F030 串口编程
笔记·stm32·单片机·嵌入式·freertos·modbus
cameron_tt10 小时前
stm32智能垃圾桶
stm32·单片机·嵌入式硬件
玩转单片机与嵌入式11 小时前
TinyML适合在哪些MCU上运行?怎么评估我们的MCU能不能运行TinyML?(赠评估手册)
单片机·嵌入式硬件
亿道电子Emdoor20 小时前
【Arm】Keil MDK 的Symbols窗口
stm32·单片机·嵌入式硬件