From 772f4fb6bb962868b36d838bbef446e5aee3c864 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期六, 05 七月 2025 14:24:44 +0800 Subject: [PATCH] commap 大小从512改成100,修改休眠逻辑,休眠标志位触发之后,先过1秒关闭4g,2秒之后再进入休眠模式 --- keil/include/main/main.c | 61 +++++++++++++++++++----------- 1 files changed, 38 insertions(+), 23 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index 0abb809..dbfd129 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -139,21 +139,22 @@ uint8_t onlyoneflag=1; void mcu_deep_sleep(void) { - + // char str[19]= {"AT+POWERMODE=ST\r\n"}; uint32_t lock; + // uart_send(UART_ID0, str,19, NULL); trace_flush(); lock = int_lock(); // LOG_INFO(TRACE_MODULE_APP, "进入深度休眠\r\n"); // gps_air780_power_change(0,0);//关闭gps,4G PCA9555_Set_One_Value_Output(LED_POWER,0);//输出低电平关闭LED - PCA9555_Set_One_Value_Output(GPS_POWER,0);//关闭gps,4G + PCA9555_Set_One_Value_Output(GPS_POWER,0);//关闭gps // PCA9555_Set_One_Value_Output(TTS_ENABLE,0); // gpio_pin_get_val(PCA_INPUT_DETECT); - PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭gps,4G - +// PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G AT+CPOWD + sleep_timer_stop(); -// delay_ms(200); +// delay_ms(1); if(!gpio_pin_get_val(PCA_INPUT_DETECT)) { return; @@ -213,7 +214,7 @@ uint32_t keystarttime,keystarttime2,keystarttime3; extern uint32_t get_in_num,get_out_num; uint8_t flag_4G_recdata; -uint8_t ledonflag; +uint8_t ledonflag,_4gclose_flag; uint32_t ledontime; extern uint8_t flag_first_TCPconnect; void IMUTask(void) @@ -227,17 +228,26 @@ userkey_state=4; heartbeasend_flag = 1; sleepflag=1; - + sleepflagtime=HIDO_TimerGetTick(); } } if(sleepflag) { - if(HIDO_TimerGetTick() - sleepflagtime>3) - { - power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)PCA_INPUT_DETECT, POWER_WAKEUP_LEVEL_LOW); - mcu_deep_sleep(); - } + if(HIDO_TimerGetTick() - sleepflagtime>1) + { + if(!_4gclose_flag) + { + _4gclose_flag = 1; + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0); + } + } + + if(HIDO_TimerGetTick() - sleepflagtime>3) + { + power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)PCA_INPUT_DETECT, POWER_WAKEUP_LEVEL_LOW); + mcu_deep_sleep(); + } } } void powerON_Task(void) @@ -570,7 +580,7 @@ // } g_com_map[MODBUS_MODE] = 0; log_4g_enable_flag=g_com_map[LOG_4G_ENABLE]; - g_com_map[VERSION] = (1<<8)|27; + g_com_map[VERSION] = (1<<8)|29; LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id); @@ -581,6 +591,11 @@ LOG_INFO(TRACE_MODULE_APP,"设备UWB工作间隔: %x .\r\n",g_com_map[UWBFrequency]); LOG_INFO(TRACE_MODULE_APP,"设备GPS工作间隔: %x .\r\n",g_com_map[GPSFrequency]); LOG_INFO(TRACE_MODULE_APP,"当前GPS工作波特率: %d .\r\n",gpsbaudrate1); + #ifdef _4G_115200 + LOG_INFO(TRACE_MODULE_APP,"当前4G波特率: 115200.\r\n"); + #else + LOG_INFO(TRACE_MODULE_APP,"当前4G波特率: 9600.\r\n"); + #endif // LOG_INFO(TRACE_MODULE_APP,"充电是否开机标志位: %d .\r\n",g_com_map[URT_BQ]); if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) { @@ -673,8 +688,8 @@ HIDO_TimerPoll(); HIDO_ATLitePoll(); TCPClient_Poll(); -// if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) -// {TCPClient_Poll_1();} + if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) + {TCPClient_Poll_1();} if(flag_secondtask) { flag_secondtask = 0; @@ -960,10 +975,10 @@ // NTRIPClient_Init(); // NTRIPApp_Init(); // } -// if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) -// { -// TCPClient_Init_1(); -// } + if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) + { + TCPClient_Init_1(); + } // HTTPClient_Init(); wdt_open(WDT_ID0,&app_wdt_cfg);//30s检测喂狗 LED_output_init();//配置彩色灯引脚 @@ -1021,10 +1036,10 @@ HIDO_ATLitePoll(); TCPClient_Poll(); wdt_ping(WDT_ID0);//喂狗 -// if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) -// { -// TCPClient_Poll_1(); -// } + if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) + { + TCPClient_Poll_1(); + } if(flag_secondtask) { flag_secondtask = 0; -- Gitblit v1.9.3