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

相关推荐
A9better2 小时前
嵌入式开发学习日志52——二值与计数信号量
单片机·嵌入式硬件·学习
日更嵌入式的打工仔3 小时前
(实用向)中断服务程序(ISR)的优化方向
笔记·单片机
想放学的刺客4 小时前
单片机嵌入式试题(第25)嵌入式系统可靠性设计与外设驱动异常处理
stm32·单片机·嵌入式硬件·mcu·物联网
淘晶驰AK4 小时前
大学如何自学嵌入式开发?
单片机·嵌入式硬件
一路往蓝-Anbo5 小时前
第 1 篇:对象池模式 (Object Pool) —— 裸机下的动态内存革命
jvm·数据库·stm32·单片机·嵌入式硬件·网络协议·tcp/ip
大神与小汪5 小时前
STM32WB55蓝牙广播数据
stm32·单片机·嵌入式硬件
秋深枫叶红7 小时前
嵌入式第五十一篇——IMX6ULL中断和EPIT定时器
单片机·嵌入式硬件
【赫兹威客】浩哥7 小时前
【赫兹威客】Arduino安装教程
stm32·单片机·嵌入式硬件
flashier8 小时前
ESP32学习笔记_WiFi(3)——HTTP
网络·笔记·单片机·网络协议·学习·http·esp32
兆龙电子单片机设计8 小时前
【STM32项目开源】STM32单片机智能宠物管家
stm32·单片机·物联网·开源·毕业设计·宠物