From e22d53c43eb0c0e51313af82336ce3223afc570d Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期四, 29 十月 2020 12:44:53 +0800 Subject: [PATCH] V1.32 修复标签无数据BUG --- 源码/核心板/Src/application/serial_at_cmd_app.c | 32 +++++++++++++++++++++----------- 1 files changed, 21 insertions(+), 11 deletions(-) diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/serial_at_cmd_app.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/serial_at_cmd_app.c" index 315fb89..74717f3 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/serial_at_cmd_app.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/serial_at_cmd_app.c" @@ -22,11 +22,26 @@ UsartReceiveWaitData, UsartReceiveWaitChecksum }UsartRecvPackState; -uint8_t mUsartReceivePack[100] = {0}; +uint8_t mUsartReceivePack[100] = {0}; +uint8_t send_frame[200]; +void SendConfigConfirm(uint8_t pack_msgtype,uint8_t pack_length) +{ + uint16_t checksum = 0; + send_frame[0] = 0x55; + send_frame[1] = 0xAA; + send_frame[2] = 0x09; + send_frame[3] = 8; + send_frame[4] = pack_msgtype; + send_frame[5] = pack_length; + + checksum = Checksum_u16(&send_frame[2],8); + memcpy(&send_frame[10],&checksum,2); + + UART_PushFrame(send_frame, 12); +} void SendComMap(uint8_t data_length, uint8_t index) { - static uint8_t send_frame[EUART_RX_BUF_SIZE]; uint16_t checksum = 0; send_frame[0] = 0x55; send_frame[1] = 0xAA; @@ -66,7 +81,7 @@ checksum += pack_index; checksum += pack_datalen; checksum += pack_msgtype; - if((data + checksum)&0xff == 0xFF) //校验通过 + if(((data + checksum)&0xff) == 0xFF) //校验通过 { switch(pack_msgtype) { @@ -79,8 +94,8 @@ //返回一个error状态 //SendComMap(pack_datalen,pack_index); save_com_map_to_flash(); - delay_ms(100); - NVIC_SystemReset(); + SendConfigConfirm(pack_msgtype,pack_length); + Program_Init(); break; case CMD_READ: //read包中data字节,即mUsartReceivePack[0]表示数据长度; @@ -91,12 +106,7 @@ break; } break; - case MSG_WTAG: - remotesend_state++; - if(remotesend_state>14) - remotesend_state=1; - memcpy(remotetag_para,mUsartReceivePack,REMOTEPARA_LEN); - break; + } } usart_receive_state = UsartReceiveWaitHead0; -- Gitblit v1.9.3