将一个字符串计算出CRC16/XMODEM校验码(4位)
将一个字符串计算出CRC16/XMODEM校验码(4位)
unsigned short CRC16_XMODEM(unsigned char *puchMsg, unsigned int usDataLen)
{unsigned short wCRCin = 0x0000;unsigned short wCPoly = 0x1021;unsigned char wChar = 0;while (usDataLen--) {wChar = *(puchMsg++);wCRCin ^= (wChar << 8);for (int i = 0; i < 8; i++) {if (wCRCin & 0x8000)wCRCin = (wCRCin << 1) ^ wCPoly;elsewCRCin = wCRCin << 1;}}return (wCRCin);
}
void test_CRC16_Xmode()
{unsigned char data[15];// 980012010001123456785A2608CE23data[0] = 0x98;data[1] = 0x00;data[2] = 0x12;data[3] = 0x01;data[4] = 0x00;data[5] = 0x01;data[6] = 0x12;data[7] = 0x34;data[8] = 0x56;data[9] = 0x78;data[10] = 0x5A;data[11] = 0x26;data[12] = 0x08;data[13] = 0xCE;data[14] = 0x23;char str1[128];sprintf(str1, "%X", CRC16_XMODEM(data, 15));printf("%s\r\n", str1);
}
int main()
{test_CRC16_Xmode();getchar();return 0;
}
结果:
在线计算校验码结果:
在线计算工具链接:https://blog.csdn.net/weibo1230123/article/details/81016643
将一个字符串计算出CRC16/XMODEM校验码(4位)相关推荐
- CRC-16/X25、CRC-16/CCITT_FALSE、CRC-16/XMODEM校验码
这几天做北斗定位设备的协议解析,需要进行CRC-16的校验,设备使用的参数模型是CRC-16/X25,本人使用的是Java语言,网上没找到关于CRC-16/X25 的Java版本,都是C语言的多.转换 ...
- Java生成CRC16数据校验码
CRC即循环冗余校验码(Cyclic Redundancy Check[1] ):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数 ...
- crc16的c语言函数 计算ccitt_求一个C语言实现的CRC16/CCITT-FALSE校验码函数
匿名用户 1级 2017-02-20 回答 //函数功能:计算CRC16 //参数1:*pData 16位CRC校验数据, //参数2:nLength 数据流长度 //参数3:init 初始化值 // ...
- 16进制字符串生成CRC-16/CCITT-FALSE校验码
/*** @author yichuan@iscas.ac.cn* @version 1.0* @date 2021/11/8 21:51*/ public class Crc {/*** CRC-1 ...
- PHP CRC16 校验码的算法怎么使用
PHP CRC16 校验码的算法如何使用 最近用到CRC16, 我现在就是要把 010301180001 算出CRC16的校验码,通过其他工具,可以得到 校验码是 05F1 最后完整的代码就是 010 ...
- CRC校验码计算,以常用CRC-8为例
CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定. CRC校验原理:在要发送的帧后面附加一个数,生成一个新帧发送给接收端.它要使所生成的新帧 ...
- c语言rtu crc16,Modbus-RTU-crc16校验方法C语言实现
为确保消息数据的完整性,除了验证消息CRC之外,建议实现检查串行端口(UART)成帧错误的代码.如果接收消息中的CRC与接收设备计算的CRC不匹配,则应忽略该消息.下面的C语言代码片段显示了如何使用逐 ...
- C语言版CRC-16系列校验算法
一.CRC16校验码的使用 现选择最常用的CRC-16校验,说明它的使用方法. 根据Modbus协议,常规485通讯的信息发送形式如下: 地址 功能码 数据信息 校验码 1byte 1byte nby ...
- 已知信码序列为1011_专升本计算机网络:校验码
1. 采用 4 相 PSK 调制,数据传输速率为 4800bps ,其码元速率是多少? 2.4 采用数字信号传输模拟信号时, 模拟数据的最大频率为 1200Hz , 则采样信号频率最 小应为多少. 6 ...
最新文章
- CSP 202006-2 	稀疏向量 python实现(非满分)(待更新)
- linux shell nr,awk中NR和FNR的区别小结和实例演示
- Java Review - 使用Timer时需要注意的事情
- 2021暑假每日一题 【week4 完结】
- 【静态站点(二)】之 Gridsome 基础
- ubuntu openssl1.0.2g交叉编译
- ARMs3c2440开发板挂接NFS服务
- 超好用的IDEA插件汇总
- day_05、内置函数、匿名函数
- 地理探测器GeoDetector
- KVM vCPU创建过程
- 做职场里的“超级英雄”,需要怎样的盔甲与工具?
- 研究意识问题为什么如此困难
- 抖音sdk接口API调用-关注与取消关注抖音号
- 安装spss破解版以及spss安装之后提示我程序无法启动,因为应用程序的并行配置不正确
- 在 LaTeX 中创建文档
- (78)--用框架爬取招聘信息
- Java自学笔记Day22
- 开发微信小程序的优势有哪些?
- Postman如何导出接口,学会这招后台开发再交接工作时,保准不被喷!