uint16_t PY_CRC_16_T16_XMODEM(uint16_t *di, uint32_t len){uint16_t crc_poly = 0x1021;//X^16+X^12+X^5+1 total 16 effective bits without X^16. uint16_t data_t = 0; //CRC registeruint16_t cdata[len];for(uint32_t j=0;j
CRC-16 格式校验函数四(8位输入数据格式):
文章插图
uint16_t PY_CRC_16_T8_XMODEM(uint8_t *di, uint32_t len){uint16_t crc_poly = 0x1021;//X^16+X^12+X^5+1 total 16 effective bits without X^16. uint16_t data_t = 0; //CRC registerfor(uint32_t i = 0; i < len; i++){data_t ^= di[i]<<8; //8-bit datafor (uint8_t j = 0; j < 8; j++){if (data_t & 0x8000)data_t = (data_t << 1) ^ crc_poly;elsedata_t <<= 1;}}return (data_t);}
算法验证
4种算法结果相同:
通过在线CRC工具对照验证成功:
–End–
- 下了个系统语言C盘爆了,语言包占用了大量的C盘空间Win7系统语言包如何卸载
- win7中文语言包环境下安装软件乱码的解决方法
- Web前端,各类语言…… 计算机类网络课程
- 动态数组怎么赋值,c语言数组动态赋值
- 【C语言】三剑客之《C陷井与缺陷》完整笔记
- 巴西说什么语言-巴西说什么语言葡萄牙语你好
- 马来西亚说什么语言
- 宁波外语培训
- 嵌入式系统语言常见算法解析,这12条准则一定要记住
- 传统基于Java,.NET等高级语言的定制开发模式你厌倦了?