所以我从2001年开始对我的空调控制器进行逆向工程,它使用的波特率为300,并且每次传输发送相同的6字节数据包3次。
数据似乎很简单,但我无法弄清楚最后一个字节的计算方式。我差点确定它是校验和。这是数据:
Fan level 2 0xFF 0xAA 0x00 0x02 0x68 0x0C
Fan level 3 0xFF 0xAA 0x00 0x03 0x68 0x67
Fan level 4 0xFF 0xAA 0x00 0x04 0x68 0x39
Fan level 5 0xFF 0xAA 0x00 0x05 0x68 0x52
Fan level 6 0xFF 0xAA 0x00 0x06 0x68 0x2A
Fan level 7 0xFF 0xAA 0x00 0x07 0x68 0x41
Fan level 8 0xFF 0xAA 0x00 0x08 0x68 0x53
Fan level 9 0xFF 0xAA 0x00 0x09 0x68 0x38
Fan level 9 0xFF 0xAA 0x00 0x49 0x68 0x03 (Turned Vent mode on)
感谢您的帮助!
答案 0 :(得分:1)
很可能不是校验和。请注意,除了第4个字节之外,示例中所有扇形级别中的所有字节都是完全相同的,这似乎是风扇索引(较低的半字节)和一些指示该扇形级别状态的标志的组合(您在风扇9)中启用通风口时,可以看到标志0x4已启用。
因此,在所有风扇级别中,唯一的变化只是一个字节,在您的示例中的所有行中,但是最后一个,值的增量为1(风扇级别本身的索引)。 / p>
因此,如果最后一个字节是校验和,您可能希望校验和在示例的第一行中是增量值,但它们不是。