你提到的数据包总长度指的是否指参考源码中的rx_poll_msg/tx_resp_msg/rx_final_msg,长度分别为12/15/24.
这里边包含有最后两位自定义的CRC,不知道是不是另外还有桢头桢尾。
static uint8 rx_poll_msg[] = {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0x21, 0, 0};
static uint8 tx_resp_msg[] = {0x41, 0x88, 0, 0x0, 0xDE, 'V', 'E', 'W', 'A', 0x10, 0x02, 0, 0, 0, 0};
static uint8 rx_final_msg[] = {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
因为要添加一些业务,在项目中对数据包做了些修改,比方说,在final消息后再增加些其他内容,目前rx_final_msg最长也不超过50byte,但测试的结果是rx_final_msg最长就是24,长了接收的数据就乱了(接收端检查接收长度是对的) |