ACK和NACK常用于不需要返回额外数据的命令,比如PING命令时,设置命令需返回,则控制器返回 ACK,表明控制器在线。
7.1 ACK
参数 | 数据长度 | 默认值 | 描述 |
CmdGroup | 1 | OxA0 | 命令分组编号 |
Cmd | 1 | 0x00 | 命令编号 |
CmdError | 1 | 命令状态 | |
Reserved | 2 | 0 | 保留 |
命令示例4:
A5 A5 A5 A5 A5 A5 A5 A5 A5 00 80 FE FF 00 00 00 00 00 00 FE 02 05 00 A0 00 00 00 00 14 AC 5A
命令4即为控制卡返回的ACK, —般命令设置了控制卡需回复且发送命令正确时,控制卡会回复ACK。
7.2 NACK
参数 | 数据长度 | 默认值 | 描述 |
CmdGroup | 1 | OxA0 | 命令分组编号 |
Cmd | 1 | 0x01 | 命令编号 |
CmdError | 1 | 命令状态 | |
Reserved | 2 | 0 | 保留 |
命令示例5:
A5 A5 A5 A5 A5 A5 A5 A5 A5 00 80 FE FF 00 00 00 00 00 00 FE 02 05 00 A0 01 05 00 00 05 51 5A
命令5即为控制卡返回的NACK,此时根据命令处理状态位的值,对应错误状态值表来检查发送命令,如 此ACK处理状态位为0x05,对应的是CRC16校验错误;
参数 | 数据 | 描述 |
命令分组 | A0 | 命令分组编号 |
命令编号 | 01 | 命令编号 |
控制器是否回复 | 05 | 命令状态 |
保留字节 | 00 00 | 2位保留字节 |