From 9aa8760604c398bc3a7a19b26c9e06de776f11df Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期四, 29 五月 2025 18:13:05 +0800 Subject: [PATCH] 完成免布线标签地板基本测试,修改串口为串口0,有修改为功率固件flag因中断多次触发问题,未加防抖保护,升级未测试 --- keil/include/drivers/serial_at_cmd_app.c | 35 ++++++++++++++++++++++------------- 1 files changed, 22 insertions(+), 13 deletions(-) diff --git a/keil/include/drivers/serial_at_cmd_app.c b/keil/include/drivers/serial_at_cmd_app.c index 31d7f51..6b1cf1d 100644 --- a/keil/include/drivers/serial_at_cmd_app.c +++ b/keil/include/drivers/serial_at_cmd_app.c @@ -81,7 +81,27 @@ sum = ~sum; return sum; } - +void SendComMap0(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; + send_frame[2] = 0x03; + send_frame[3] = data_length+5; + send_frame[4] = CMD_REPLY; + send_frame[5] = index; + send_frame[6] = data_length; + memcpy(&send_frame[7], &g_com_map[index], data_length); + for(int i = 0; i<(data_length+5); i++) + { + checksum += send_frame[2+i]; + } + checksum = Checksum_u16(&send_frame[2],5+data_length); + memcpy(&send_frame[7+data_length],&checksum,2); + + uart_send(UART_ID0, send_frame,data_length+9, NULL); +} void SendComMap(uint8_t data_length, uint8_t index)//表示成功读取的回应包 { static uint8_t send_frame[EUART_RX_BUF_SIZE]; @@ -185,7 +205,7 @@ case CMD_READ: //read包中data字节,即mUsartReceivePack[0]表示数据长度; //从g_com_data结构体中的第index位置读取长度为mUsartReceivePack[0]的字节,发送出来 - SendComMap(pack_datalen,pack_index>>1); + SendComMap0(pack_datalen,pack_index>>1); break; default: break; @@ -253,20 +273,9 @@ wd=strtod(wdrecv.m_pData,NULL); jd=strtod(jdrecv.m_pData,NULL); if(wd!=0) - blink_led(&gps_success_state); pos_state=atoi(Posstate.m_pData); if(pos_state!=0) { - gps_timeout_flag=0;//不超时接收状态 - - gps_need_data_flag=0;//接收数据完成 - gps_wait_count=0;//清0接收状态 - //gps_power_state=0;//关闭gps - if(gps_open_flag){ - UDPClient_UploadGPS();//上传GPS超时无效数据 - gps_power_state=0;//立即关掉gps,防止串口数据过多导致无法切换休眠 - update_led_power_state(); - } pos_state=0;//防止多次进入 } -- Gitblit v1.9.3