首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对任何帧相同的16位CRC X-25

对任何帧相同的16位CRC X-25
EN

Stack Overflow用户
提问于 2019-06-20 19:41:08
回答 1查看 139关注 0票数 0

我对我在应用程序开发过程中所做的观察非常好奇。长话短说,我正在制作一个应用程序,用来读取智能电表中的数据。它们的请求框架如下:

代码语言:javascript
复制
7E [hex-address] [crc1] [cmd] [crc2] 7E

CRC的algoritm是CRC-16/X-25,它们应该计算不含7e的帧的整个左侧部分,因此crc2包含crc1。我注意到,所有时候,crc2对于任何cmd都是一样的,甚至有不同的hex-address。我使用了克拉卡尔克工具来确保。复制步骤:

  • 放置任何(甚至任何大小)十六进制数组
  • calc 16/X-25
  • 交换CRC字节
  • 将这个交换的CRC放在数组的末尾。
  • CRC再次

对于任何字节数组,这个CRC都是相同的。为什么会这样呢?这个现象有什么名字吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-21 00:47:20

CRC再次

如果将CRC追加到数据并再次计算,则结果是一个常量值。如果CRC不是post可补的(xorout = 0),则结果是零,但是在本例中是后置补的(xorout = 0xffff),所以结果是一个非零的常量,在本例中是0x0f47 (假设没有发生错误)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56692867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档