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 |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/keil/include/drivers/serial_at_cmd_app.c b/keil/include/drivers/serial_at_cmd_app.c
index 5237b7a..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;

--
Gitblit v1.9.3