您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

2026-03-31 10:250阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1884个文字,预计阅读时间需要8分钟。

您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

1. 背景介绍+主要应用场景:在物联网中,底端设备注册报文需进行CRC16校验,确保数据有效性。

1.背景介绍

主要应用场景在物联网中,底端设备注册报文的上报,需要对报文的有效载荷(data)进行CRC16的复验,验证与设备端的CRC校验是否相等,如果相等,报文有效,设备上报就会注册成功,不是第一次则会刷新心跳时间,避免通信中断告警。设备的报文结果以及设备的CRC16位置如下:

平台端需要重新对注册包内容(不包含设备的CRC计算字节)进行CRC校验计算,与设备端的CRC校验对比。如果相等,则平台端的CRC校验成功。

备注:本文的CRC校验全部指CRC16的校验。

2. CRC校验的三种方法

本文侧重测试CRC的性能,不讲CRC校验的原理,因为CRC只是个校验数据准确性的工具,而且每个报文(不单单心跳报文),还有AI,DI,DO,AO,告警报文等都需要校验,因此,执行CRC程序段的性能显得尤为重要。
如果读者对CRC的校验原理感兴趣,请自行网上搜索相关资料进行深入研究,此处不再展开。

2.1. 直接计算CRC校验

以下代码已经做过验证,与设备端的CRC校验码相等(协议是基于变种的私有modbus协议),具体校验步骤可参考如下程序注释。最终将此类封装在了Crc16的帮助类里面。

阅读全文
标签:性能

本文共计1884个文字,预计阅读时间需要8分钟。

您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

1. 背景介绍+主要应用场景:在物联网中,底端设备注册报文需进行CRC16校验,确保数据有效性。

1.背景介绍

主要应用场景在物联网中,底端设备注册报文的上报,需要对报文的有效载荷(data)进行CRC16的复验,验证与设备端的CRC校验是否相等,如果相等,报文有效,设备上报就会注册成功,不是第一次则会刷新心跳时间,避免通信中断告警。设备的报文结果以及设备的CRC16位置如下:

平台端需要重新对注册包内容(不包含设备的CRC计算字节)进行CRC校验计算,与设备端的CRC校验对比。如果相等,则平台端的CRC校验成功。

备注:本文的CRC校验全部指CRC16的校验。

2. CRC校验的三种方法

本文侧重测试CRC的性能,不讲CRC校验的原理,因为CRC只是个校验数据准确性的工具,而且每个报文(不单单心跳报文),还有AI,DI,DO,AO,告警报文等都需要校验,因此,执行CRC程序段的性能显得尤为重要。
如果读者对CRC的校验原理感兴趣,请自行网上搜索相关资料进行深入研究,此处不再展开。

2.1. 直接计算CRC校验

以下代码已经做过验证,与设备端的CRC校验码相等(协议是基于变种的私有modbus协议),具体校验步骤可参考如下程序注释。最终将此类封装在了Crc16的帮助类里面。

阅读全文
标签:性能