From 11ba72b7f4c7a545a2053d03ac72f8219d145b22 Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期六, 07 十一月 2020 17:42:14 +0800 Subject: [PATCH] Revert "Revert "Revert "Revert "V1.34 增加滤波 防撞1对10发货"""" --- 源码/核心板/Src/application/serial_at_cmd_app.c | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 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..53f4a9f 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,13 @@ break; } break; - case MSG_WTAG: + 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