找到CRC计算方法?

时间:2017-07-10 09:08:40

标签: crc

因此,对于某些遥控电源插座,我有一个433mhz的射频信号。 我已经阅读了这些信号,但我们无法弄清楚他们是如何做CRC的。 CRC是9位?在信号的最后(据我所知)。 我可以强制使用CRC,这可以让我更改设备ID并获得CRC。 只是不确定它是如何计算的。

信号由

组成
[Device ID - 24 bits] [Button ID - 4 bits] [CRC - 9 bits]

以下是一些有效信号

    1000 0001 0001 0110 0000 0000    1001    0011 1001 1  (button 1)
       Payload: 0x8116009  (135356425)         CRC: 0x73  (115)
    1000 0001 0001 0110 0000 0000    0101    0011 0001 1  (button 2)
       Payload: 0x8116005  (135356421)         CRC: 0x63  (99)

    1111 1111 1111 1111 1111 1111    1001    0010 1110 1  (button 1)
       Payload: 0xFFFFFF9  (268435449)         CRC: 0x5D  (93)
    1111 1111 1111 1111 1111 1111    0101    0010 0110 1  (button 2)
       Payload: 0xFFFFFF5  (268435445)         CRC: 0x4D  (77)

    0000 0000 0000 0000 0000 0000    1001    0111 0110 1 (button 1)
        Payload: 0x9  (9)                      CRC: 0xED  (237)
    0000 0000 0000 0000 0000 0000    0101    0111 1010 1 (button 2)
        Payload: 0x5  (5)                      CRC: 0xF5  (245)

    1011 1110 0010 0100 0000 0000    1001    0011 0100 1 (button 1)
        Payload: 0xBE24009  (199376905)        CRC: 0x69  (105)
    1011 1110 0010 0100 0000 0000    0101    0011 1000 1 (button 2)
        Payload: 0xBE24005  (199376901)        CRC: 0x71  (113)

我知道所有按钮ID。只要CRC正确,设备ID就可以是任何东西。我有一个运行所有256个可能的CRC的脚本,因此如果需要,我可以生成更多值。

非常感谢任何帮助。

0 个答案:

没有答案