From 974181bcefe299fbed4c1dcd6d39be3e9f674c0e Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期五, 13 六月 2025 18:04:16 +0800 Subject: [PATCH] 成功增加sscom03shell配置指令功能,但是需要输入3次才能进入函数处理未解决 --- keil/include/drivers/serial_at_cmd_app.c | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) diff --git a/keil/include/drivers/serial_at_cmd_app.c b/keil/include/drivers/serial_at_cmd_app.c index c555bc6..21f806d 100644 --- a/keil/include/drivers/serial_at_cmd_app.c +++ b/keil/include/drivers/serial_at_cmd_app.c @@ -8,6 +8,7 @@ //#include "UsartII.h" //#include "main.h" #include "board.h" +#include "DBG.h" //#include "Spi.h" //#include "radio.h" @@ -151,6 +152,7 @@ char GGA_Format_message[200]; extern uint8_t bat_percent,userkey_state,gps_first_flag; extern GPSState GPS_state; +uint8_t shell_receive_state; void UsartParseDataHandler(uint8_t data) { if(state5V_prase_flag&&!g_com_map[MODBUS_MODE]) @@ -236,7 +238,18 @@ } else if ((usart_receive_state == UsartReceiveWaitMsgType) && (data == 0x3)) { usart_receive_state = UsartReceiveWaitLength; pack_msgtype = data; + }else if ((shell_receive_state == 0) && (data == 0x03)) { + shell_receive_state = 1; + uart_send(UART_ID1, data,1, NULL); + } else if ((shell_receive_state == 1) && (data == 0x03)) { + shell_receive_state = 2; + uart_send(UART_ID1, data,1, NULL); + } else if ((shell_receive_state == 2) && (data == 0x03)) { + DBG_SetMode(DBG_MODE_SHELL); + uart_send(UART_ID1, data,1, NULL); + shell_receive_state=0; } + else { usart_receive_state = UsartReceiveWaitHead0; pack_index = 0; @@ -295,9 +308,9 @@ GPS_GGAmessage,g_com_map[DEV_ID],bat_percent,userkey_state,gps_timeout_flag); if(pos_state!=0) { - GPS_state=STATE_VALID; -// if(wd!=0) -// blink_led(&gps_success_state); + GPS_state=STATE_IDLE; + if(wd!=0) + blink_led(&gps_success_state); //gps_power_state=0;//关闭gps if(gps_open_flag&&!gps_first_flag){ delay_ms(1000); -- Gitblit v1.9.3