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 | 59 ++++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 40 insertions(+), 19 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index 00546e7..dbfd129 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -139,22 +139,29 @@ 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(TTS_ENABLE,0); + PCA9555_Set_One_Value_Output(GPS_POWER,0);//关闭gps +// PCA9555_Set_One_Value_Output(TTS_ENABLE,0); - PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭gps,4G - - sleep_timer_stop(); - +// gpio_pin_get_val(PCA_INPUT_DETECT); +// PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭4G AT+CPOWD + + sleep_timer_stop(); +// delay_ms(1); + if(!gpio_pin_get_val(PCA_INPUT_DETECT)) + { + return; + } //adc_close(); power_enter_power_down_mode(1); + // LOG_INFO(TRACE_MODULE_APP, "从休眠出来\r\n"); sys_reset(0); int_unlock(lock); @@ -207,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) @@ -221,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) @@ -338,7 +354,7 @@ HIDO_TimerTick(); // if(nomove_count<=g_com_map[NOMOVESLEEP_TIME])//防止溢出 nomove_count++; - gaodu=GetPressAndHeight()*100; +// gaodu=GetPressAndHeight()*100; // else{ // nomove_count=g_com_map[NOMOVESLEEP_TIME]+1; // } @@ -564,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)|25; + g_com_map[VERSION] = (1<<8)|29; LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id); @@ -575,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) { @@ -917,7 +938,7 @@ IIC2_Init(); Accelerometer_Init(); // delay_ms(100); - BarInit(); +// BarInit(); // delay_ms(100); // gaodu=GetPressAndHeight(); PCA9555_init(); @@ -962,7 +983,7 @@ wdt_open(WDT_ID0,&app_wdt_cfg);//30s检测喂狗 LED_output_init();//配置彩色灯引脚 -// PCA9555_Set_One_Value_Output(TTS_ENABLE,1); + PCA9555_Set_One_Value_Output(TTS_ENABLE,1); WT588E02B_Init(); adc_open(&usr_adc_cfg); uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); @@ -1005,7 +1026,7 @@ PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低 adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 pca_input_detection_init(pca_handler);//pca检测输入 - gaodu=GetPressAndHeight()*100; +// gaodu=GetPressAndHeight()*100; while (1) { -- Gitblit v1.9.3