将一个字符串计算出CRC16/XMODEM校验码(4位)
生活随笔
收集整理的這篇文章主要介紹了
将一个字符串计算出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位)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32F1与STM32F0在GPIO
- 下一篇: 十六进制时间戳转换成十进制时间戳