A5133 传输协议CRC校验修正 597/1 597/head 598/target/1
authorSnickerSun <snickersun@163.com>
Fri, 26 Jul 2024 14:38:21 +0000 (22:38 +0800)
committerSnickerSun <snickersun@163.com>
Fri, 26 Jul 2024 14:38:21 +0000 (22:38 +0800)
code/sdk/drivers/peripheral/a5133/A5133Main.c

index 0de9fa8..a265ccf 100644 (file)
@@ -104,21 +104,24 @@ errcode_t a5133_set_send_data(uint8_t *senddata,uint8_t datalen)
                memset(p_senddata,0,sizeof(send_data[0]));\r
                p_senddata[0]=datalen;\r
                memcpy(p_senddata+1,senddata,datalen);\r
-               uint16_t crc =  CRC16_XMODEM(p_senddata,datalen); \r
+               uint16_t crc =  CRC16_XMODEM(p_senddata+1,datalen); \r
                p_senddata[datalen+1] = ((uint8_t*)&crc)[0];\r
                p_senddata[datalen+1+1] = ((uint8_t*)&crc)[1];\r
                send_data_index = 1;\r
+               PRINT("send_data_index 1 datalen %d , crc %X\n",datalen,crc);\r
        }else{\r
                uint8_t * p_senddata=send_data[0];\r
                memset(p_senddata,0,sizeof(send_data[0]));\r
                p_senddata[0]=datalen;\r
                memcpy(p_senddata+1,senddata,datalen);\r
-               uint16_t crc =  CRC16_XMODEM(p_senddata,datalen); \r
+               uint16_t crc =  CRC16_XMODEM(p_senddata+1,datalen); \r
                p_senddata[datalen+1] = ((uint8_t*)&crc)[0];\r
                p_senddata[datalen+1+1] = ((uint8_t*)&crc)[1];\r
                send_data_index = 0;\r
+               PRINT("send_data_index 0 datalen %d , crc %X\n",datalen,crc);\r
        }\r
 \r
+\r
        return ERRCODE_SUCC;\r
 \r
 }\r
@@ -539,7 +542,7 @@ void RxPacket(void)
                {\r
                        err = 1;\r
                }\r
-               // else\r
+               else\r
                {\r
                        tmpbuf_len = datalen;\r
                        memset(tmpbuf_rx, 0 ,sizeof(tmpbuf_rx));\r