1、RTCM—CRC校验
RTK信息:

例子:
D3 00 13 3E D0 00 03 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 6D B8 8E
D3:引导字
00 13:计算消息长度:19
6D B8 8E:CRC校验
int table[]={
    0x000000, 0x864CFB, 0x8AD50D, 0x0C99F6, 0x93E6E1, 0x15AA1A, 0x1933EC, 0x9F7F17,
            0xA18139, 0x27CDC2, 0x2B5434, 0xAD18CF, 0x3267D8, 0xB42B23, 0xB8B2D5, 0x3EFE2E, 0xC54E89, 0x430272,
            0x4F9B84, 0xC9D77F, 0x56A868, 0xD0E493, 0xDC7D65, 0x5A319E, 0x64CFB0, 0xE2834B, 0xEE1ABD, 0x685646,
            0xF72951, 0x7165AA, 0x7DFC5C, 0xFBB0A7, 0x0CD1E9, 0x8A9D12, 0x8604E4, 0x00481F, 0x9F3708, 0x197BF3,
            0x15E205, 0x93AEFE, 0xAD50D0, 0x2B1C2B, 0x2785DD, 0xA1C926, 0x3EB631, 0xB8FACA, 0xB4633C, 0x322FC7,
            0xC99F60, 0x4FD39B, 0x434A6D, 0xC50696, 0x5A7981, 0xDC357A, 0xD0AC8C, 0x56E077, 0x681E59, 0xEE52A2,
            0xE2CB54, 0x6487AF, 0xFBF8B8, 0x7DB443, 0x712DB5, 0xF7614E, 0x19A3D2, 0x9FEF29, 0x9376DF, 0x153A24,
            0x8A4533, 0x0C09C8, 0x00903E, 0x86DCC5, 0xB822EB, 0x3E6E10, 0x32F7E6, 0xB4BB1D, 0x2BC40A, 0xAD88F1,
            0xA11107, 0x275DFC, 0xDCED5B, 0x5AA1A0, 0x563856, 0xD074AD, 0x4F0BBA, 0xC94741, 0xC5DEB7, 0x43924C,
            0x7D6C62, 0xFB2099, 0xF7B96F, 0x71F594, 0xEE8A83, 0x68C678, 0x645F8E, 0xE21375, 0x15723B, 0x933EC0,
            0x9FA736, 0x19EBCD, 0x8694DA, 0x00D821, 0x0C41D7, 0x8A0D2C, 0xB4F302, 0x32BFF9, 0x3E260F, 0xB86AF4,
            0x2715E3, 0xA15918, 0xADC0EE, 0x2B8C15, 0xD03CB2, 0x567049, 0x5AE9BF, 0xDCA544, 0x43DA53, 0xC596A8,
            0xC90F5E, 0x4F43A5, 0x71BD8B, 0xF7F170, 0xFB6886, 0x7D247D, 0xE25B6A, 0x641791, 0x688E67, 0xEEC29C,
            0x3347A4, 0xB50B5F, 0xB992A9, 0x3FDE52, 0xA0A145, 0x26EDBE, 0x2A7448, 0xAC38B3, 0x92C69D, 0x148A66,
            0x181390, 0x9E5F6B, 0x01207C, 0x876C87, 0x8BF571, 0x0DB98A, 0xF6092D, 0x7045D6, 0x7CDC20, 0xFA90DB,
            0x65EFCC, 0xE3A337, 0xEF3AC1, 0x69763A, 0x578814, 0xD1C4EF, 0xDD5D19, 0x5B11E2, 0xC46EF5, 0x42220E,
            0x4EBBF8, 0xC8F703, 0x3F964D, 0xB9DAB6, 0xB54340, 0x330FBB, 0xAC70AC, 0x2A3C57, 0x26A5A1, 0xA0E95A,
            0x9E1774, 0x185B8F, 0x14C279, 0x928E82, 0x0DF195, 0x8BBD6E, 0x872498, 0x016863, 0xFAD8C4, 0x7C943F,
            0x700DC9, 0xF64132, 0x693E25, 0xEF72DE, 0xE3EB28, 0x65A7D3, 0x5B59FD, 0xDD1506, 0xD18CF0, 0x57C00B,
            0xC8BF1C, 0x4EF3E7, 0x426A11, 0xC426EA, 0x2AE476, 0xACA88D, 0xA0317B, 0x267D80, 0xB90297, 0x3F4E6C,
            0x33D79A, 0xB59B61, 0x8B654F, 0x0D29B4, 0x01B042, 0x87FCB9, 0x1883AE, 0x9ECF55, 0x9256A3, 0x141A58,
            0xEFAAFF, 0x69E604, 0x657FF2, 0xE33309, 0x7C4C1E, 0xFA00E5, 0xF69913, 0x70D5E8, 0x4E2BC6, 0xC8673D,
            0xC4FECB, 0x42B230, 0xDDCD27, 0x5B81DC, 0x57182A, 0xD154D1, 0x26359F, 0xA07964, 0xACE092, 0x2AAC69,
            0xB5D37E, 0x339F85, 0x3F0673, 0xB94A88, 0x87B4A6, 0x01F85D, 0x0D61AB, 0x8B2D50, 0x145247, 0x921EBC,
            0x9E874A, 0x18CBB1, 0xE37B16, 0x6537ED, 0x69AE1B, 0xEFE2E0, 0x709DF7, 0xF6D10C, 0xFA48FA, 0x7C0401,
            0x42FA2F, 0xC4B6D4, 0xC82F22, 0x4E63D9, 0xD11CCE, 0x575035, 0x5BC9C3, 0xDD8538};

main:
int crc = 0,i;
    int buf[3];
    printf("size = %d\r\n",sizeof(table));
    for(i = 0; i< 22; i++)
    {
        printf("rtcm = %d\r\n",(crc >> 16) ^ (rtcm[i] & 0xff));
        crc = ((crc << 8) & 0xFFFFFF) ^ table[(crc >> 16) ^ (rtcm[i] & 0xff)];
    }
    buf[0] =  ((crc & 0xff0000) >> 16);
    buf[1] =  ((crc & 0xff00) >> 8);
    buf[2] =  (crc & 0xff);
    
    printf("%x,%x,%x\r\n",buf[0],buf[1],buf[2]);
————————————————
版权声明:本文为CSDN博主「有人叫我小高高」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37965089/article/details/81317104

RTCM—CRC校验相关推荐

  1. LabVIEW实现CRC校验

    目录 1.内部控件计算CRC校验 2.公式节点计算CRC校验 CRC(循环冗余校验),是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存 ...

  2. 32位crc校验码程序_CRC码计算及校验原理的最通俗诠释

    CRC校验原理 CRC校验原理看起来比较复杂,好难懂,因为大多数书上基本上是以二进制的多项式形式来说明的.其实很简单的问题,其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注 ...

  3. 计算机网络crc校验实验报告,CRC校验实现-实验报告(附主要实现代码)

    计算机网络 实验报告 班级:03计算机B班 实验名称:CRC校验实现 姓名:kikikind 学号:086 指导老师:何怀文 日期:2006-4-22 1.学习CRC循环冗余检验原理 2.掌握实现方法 ...

  4. android串口通讯奇偶校验,串口通讯奇偶数校验及CRC校验如何使用详解

    我们以前在学校使用串口基本都不用奇偶数校验都是采用硬件CRC(循环冗余校验码)校验的.但有时候为了数据传输的更加严谨和差错的处理会采用奇偶校验.这里简单说下软件上CRC校验是如何计算的. 所谓CRC是 ...

  5. STM32开发 -- CRC校验码

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/79518638 通信协议里有CRC校验码,计算从报文的起始字节到报文内容最后一 ...

  6. CRC校验原理及STM32 IAP在线升级程序

    CRC校验原理: 什么是CRC校验? CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据传输检错功能,对数据 ...

  7. 通信 / CRC 校验

    一.全称 Cyclic Redundancy Check,循环冗余校验 二.诞生原因 在数据传输中,校验传输的数据的准确性必不可少,传统的方法包括 1 校验.0 校验.奇偶校验(详细说明请看这里),这 ...

  8. 如何在html里加入验证码_如何把crc校验加入到对应的程序里?看高手怎么做

    我们现在已经搞清楚了crc校验的算法,本文我就向大家具体讲解一下如何把crc校验加入到我们的程序里. 1 .crc校验使用原理 crc校验在程序中运行的原理主要可以分为以下几步. 第一步:主站发送数据 ...

  9. jq校验输入框值变化时_谈谈自己对CRC校验的理解

    1.CRC是用来干嘛的? 检测数据传输过程中是否出现错误(某些位,或某几位,或者某块区域位错误). 2.CRC是否能校正数据传输中的错误? CRC只能检错,不能纠错.如果发现错误,可根据双方协议规定要 ...

  10. CRC校验算法的解析,暨对网上的CRC详解的补充

    一.CRC的形象理解 本文面向对CRC校验有一定基础的读者,如果你不懂,请戳这里.维基百科还有图解版的. 在CRC的具体实现中,如果要计算CRC的数据很长,一般都会用到寄存器,用来保存当前的计算到的C ...

最新文章

  1. 开课吧python课程-Python教父廖雪峰加入开课吧 打造技术品类黄金内容班底
  2. 区块链技术实现只需180行go代码!
  3. 高并发服务端分布式系统设计概要(上)
  4. 牛客第六场 H-Hopping Rabbit
  5. 网络安全-防火墙与入侵检测系统
  6. cocos2d-x游戏实例(4)-地图碰撞
  7. Yammer Metrics,一种监视应用程序的新方法
  8. [Remoting]在.NET環境實作Flex 3 Remoting - (2) Flex Builder 環境設定
  9. 使用tcpdump抓Android网络包
  10. 群晖nas使用rsync备份
  11. 啊哈算法——第一章第二节:冒泡排序
  12. 邮件群发怎么发?解密邮件群发软件小技巧
  13. python雷达图的相似度_python画雷达图
  14. 什么是一条好链?——一定要有自主创新的硬核技术
  15. 平面设计斜线排版的技巧方法
  16. DebugView使用方法
  17. UG背景颜色修改和截图
  18. 屠龙猎手攻略(图)原创
  19. 《统计学习方法》各章节代码实现与课后习题参考解答
  20. 11-04Physics-Aware Learning-based Longitudinal Vehicle Trajectory Prediction in Congested Traffic

热门文章

  1. wav文件降噪c语言,语音降噪
  2. 向linux内核提交了第一个patch,在3.8中发布,庆祝一下!
  3. c语言成绩管理系统1.0,c语言成绩管理系统完整附源码v1.0 免费版
  4. 关于c语言从入门到精通那些事
  5. Maple绘图小技巧1
  6. 利用Excel出库明细表批量生成送货单
  7. 一个初学者的辛酸路程-Python基础-3
  8. 给“网吧”做管理系统
  9. 在VS2017(VC15)上配置opencv4.0.1环境
  10. php蓝奏云网盘源码,蓝奏云网盘pc版易语言开源软件源码