From 8c941d2143eba5ac474684a36d2eb86745dac4bc Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期二, 15 四月 2025 10:24:12 +0800 Subject: [PATCH] 修改休眠功耗 --- keil/include/main/main.c | 101 ++++++++++++-------------------------------------- 1 files changed, 24 insertions(+), 77 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index bfd50f2..047412b 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -122,6 +122,7 @@ 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(AIR780E_ENBALE,0);//关闭gps,4G sleep_timer_stop(); @@ -174,6 +175,7 @@ uint8_t flag_4G_recdata; uint8_t ledonflag; uint32_t ledontime; +extern uint8_t flag_first_TCPconnect; void IMUTask(void) { if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&g_com_map[IMU_ENABLE]==1) @@ -185,10 +187,12 @@ { if(!read_userkey_input_pca()) { - if(HIDO_TimerGetTick() - keystarttime3>2) + delay_ms(1000); + if(!read_userkey_input_pca()) { userkey_state = 1; keystarttime3 = HIDO_TimerGetTick(); + flag_first_TCPconnect = 1; //UDPClient_UploadGPS(); } // if(HIDO_TimerGetTick() - keystarttime2>10) @@ -205,7 +209,8 @@ { if(read_powerkey_input_pca()) { - if(HIDO_TimerGetTick() - keystarttime>2) + delay_ms(1000); + if(read_powerkey_input_pca()) { rtkled=WHITE; uwbled=WHITE; @@ -233,12 +238,13 @@ } void MinuteTask(void) { - PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低 + PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低 + delay_ms(100); adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 } void SecondTask(void) {static uint8_t second_count; - if(second_count++>60) + if(second_count++>120) { second_count = 0; MinuteTask(); @@ -276,8 +282,6 @@ uint8_t uwb_enable_flag=0; uint8_t input5v_time; extern uint8_t taglist_num; -extern uint8_t ceshidata[500]; -extern uint8_t ceshichangdu; uint8_t gps_ntripsend; static void sleep_timer_callback(void *dev, uint32_t time) { @@ -308,10 +312,7 @@ }else{ flag_secondtask = 0; } - if(gps_ntripsend==1) - { - gps_ntripsend=2; - } + if(delaysleep_count>0) delaysleep_count--; } @@ -337,6 +338,11 @@ { PowerTask(); test31++; + } + if(!(SOS_ENBALE_POSITION&gpio_state)) + { + UserKeyTask(); + test21++; } } @@ -412,8 +418,8 @@ } g_com_map[MODBUS_MODE] = 0; log_4g_enable_flag=g_com_map[LOG_4G_ENABLE]; - g_com_map[VERSION] = (1<<8)|3; - + g_com_map[VERSION] = (1<<8)|7; + LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id); LOG_INFO(TRACE_MODULE_APP,"固件版本:4G-GPS定位工卡 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff); @@ -592,55 +598,6 @@ int test1,test3; uint32_t test4; extern uint8_t receive_flag; -extern uint8_t YUANGPS_ParseGGA_data[256]; -extern uint8_t YUANGPS_ParseGGA_changdu; -static HIDO_CHAR url[256 + 1]; -//void OTA_MODE(void) -//{ -// if(g_com_map[OTA_FLAG]) -// { -// Uart_Register(UART_ID_4G, UART_ID0); -// Uart_Register(UART_ID_DBG_GPS, UART_ID1); -// DBG_Init(); -// DBG_SetMode(DBG_MODE_SHELL); -// Internet_Init(); -// // TCPClient_Init(); -// HTTPClient_Init(); -// gpio_open(); -// LED_output_init();//配置彩色灯引脚 -// IIC2_Init(); -// // Accelerometer_Init(); -// PCA9555_init(); -// uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); -// power_init(); -// sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback); -// sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试 -// pca_input_detection_init(pca_handler);//pca检测输入 -// state5v=1; -// state5V_prase_flag=state5v; -// gps_prase_flag=0;//解除gps解析 -// uart1_change_from_gps_to_debug();//测试 -// PCA9555_Set_One_Value_Output(MCU_A,1);//输出高电平切换为5V输入 -// memcpy((HIDO_UINT8 *)url,g_com_map+OTA_URL_INDEX,g_com_map[OTA_URL_CHANGDU]); -// OTA_Start((HIDO_UINT8 *)url); -// -//// g_com_map[OTA_FLAG]=0; -//// save_com_map_to_flash(); -//// delay_us(100000); -//// NVIC_SystemReset(); //软复位回到bootloader -// -// -// while (1) -// { -// OTA_Poll(); -// HTTPClient_Poll(); -// Internet_Poll(); -// HIDO_TimerPoll(); -// HIDO_ATLitePoll(); -//// IdleTask(); -// } -// } -//} int main(void) { board_clock_run(); @@ -671,11 +628,11 @@ Internet_Init(); TCPClient_Init(); - if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_NTRIP) - { - NTRIPClient_Init(); - NTRIPApp_Init(); - } +// if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_NTRIP) +// { +// NTRIPClient_Init(); +// NTRIPApp_Init(); +// } if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) { TCPClient_Init_1(); @@ -715,15 +672,7 @@ PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS while (1) { - if(ota_flag==1) - { -// OTA_Poll(); -// HTTPClient_Poll(); - } - else - { - uwb_app_poll(); - } + uwb_app_poll(); Internet_Poll(); HIDO_TimerPoll(); HIDO_ATLitePoll(); @@ -737,9 +686,7 @@ flag_secondtask = 0; SecondTask(); } - PowerTask(); IMUTask(); - UserKeyTask(); IdleTask(); } } -- Gitblit v1.9.3