如何解决CRC(循环冗余校验)计算?

时间:2016-08-05 15:19:09

标签: hex checksum crc crc16

我想将数据发送到TCP 105电路。

以下十六进制命令可以发送数据123:

7F30001103 313233 45D4

这里,313233是123的十六进制表示,45D4是CRC值。

在计算CRC后,我有问题得到这个45D4。在网上搜索了很长时间后,我得到了不同标准的其他CRC值。但是我的LED显示电路没有接受那些CRC值。

请帮助我知道如何从7F30001103313233获得45D4。

提前致谢。

1 个答案:

答案 0 :(得分:0)

该命令匹配名为CRC-16 / CMS的算法。

export function initialize(application) {
  let store = application.__container__.lookup('service:store');
  let fSociety = application.__container__.lookup('service:service-FSociety');

  store.findAll('my-data').then(() => fSociety.start());
}

可能是正确的算法,因为您只提供了一个代码字(并且因为我假设CRC已经进行了字节交换。)

要生成计算此CRC的代码,请参阅Mark Adler的crcany工具。