From 392e73cb409b1a8f295eafeac078f81b3904f9ec Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期二, 06 五月 2025 16:50:36 +0800 Subject: [PATCH] 1.10,加入ota语音tts --- keil/include/main/main.c | 57 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 38 insertions(+), 19 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index 476ccbe..9155608 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -28,6 +28,7 @@ //#define DEBUG_MODE extern int simple_main(void); extern int temp_main(void); +void boot_deinit(void); #define TEST_UART_POLL_MODE 0 #define TEST_UART_INTERUPT_MODE 1 #define TEST_UART_DMA_MODE 2 @@ -131,22 +132,31 @@ { uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); } +uint8_t deep_sleep_falg=1; void mcu_deep_sleep(void) { - uint32_t lock; - trace_flush(); - lock = int_lock(); -// LOG_INFO(TRACE_MODULE_APP, "进入深度休眠\r\n"); +// uint32_t lock; +// trace_flush(); +// lock = int_lock(); +//// LOG_INFO(TRACE_MODULE_APP, "进入深度休眠\r\n"); // gps_air780_power_change(0,0);//关闭gps,4G + deep_sleep_falg=0; PCA9555_Set_One_Value_Output(LED_POWER,0);//输出低电平关闭LED PCA9555_Set_One_Value_Output(GPS_POWER,0);//关闭gps,4G + PCA9555_Set_One_Value_Config(MAIN_RI,0);//配置4G唤醒引脚为输入 +// PCA9555_Set_One_Value_Output(MAIN_RI,1); + boot_deinit(); + CloseUWB(); PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭gps,4G - sleep_timer_stop(); - //adc_close(); - power_enter_power_down_mode(1); -// LOG_INFO(TRACE_MODULE_APP, "从休眠出来\r\n"); - sys_reset(0); - int_unlock(lock); + +// sleep_timer_stop(); +// //adc_close(); +// power_enter_power_down_mode(1); +// delay_us(200000); + +// sys_reset(0); +//// LOG_INFO(TRACE_MODULE_APP, "从休眠出来\r\n"); +// int_unlock(lock); } static void adc_callback(void *data, uint32_t number) { @@ -161,7 +171,7 @@ { bat_percent = 0; } - else if(fVoltage_mv > 4100) + else if(fVoltage_mv > 4200) { bat_percent = 100; } @@ -196,6 +206,7 @@ { if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&g_com_map[IMU_ENABLE]==1) {//power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)ACCLERATE_DETECT_Pin, POWER_WAKEUP_LEVEL_HIGH); + power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)PCA_INPUT_DETECT, POWER_WAKEUP_LEVEL_LOW); mcu_deep_sleep(); } } @@ -365,6 +376,7 @@ send_struct.alarmDistence=prewarning_distance;//更新报警距离 memcpy(&send_struct.gunLableId,&g_com_map[BIND_DEV_ID],2);//更新绑定ID send_struct.tagId=dev_id;//更新设备ID + tag_frequency = 1000/g_com_map[COM_INTERVAL]; // g_com_map[IP_0]=111; // g_com_map[IP_1]=198; @@ -414,7 +426,7 @@ } g_com_map[MODBUS_MODE] = 0; log_4g_enable_flag=g_com_map[LOG_4G_ENABLE]; - g_com_map[VERSION] = (1<<8)|7; + g_com_map[VERSION] = (1<<8)|10; LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id); @@ -467,7 +479,7 @@ { nomove_count = 0; // adctick = HIDO_TimerGetTick(); - if(HIDO_TimerGetTick()-adctick>60) //10分钟采样一次 电量 + if(HIDO_TimerGetTick()-adctick>600) //10分钟采样一次 电量 { chongman_time=chongman_time+60; adctick = HIDO_TimerGetTick(); @@ -479,7 +491,7 @@ only_one_flag=1; chongman_time=0; } - if(bat_percent>=99&&chongman_time>=600) + if(bat_percent>=99&&chongman_time>=180) { powerled = GREEN; }else{ @@ -523,6 +535,7 @@ g_com_map[CNT_RESTART]=0; save_com_map_to_flash(); NVIC_SystemReset(); + } } else @@ -557,7 +570,7 @@ { g_com_map[CNT_RESTART]=0; NVIC_SystemReset(); - + } if(g_com_map[MAP_SIGN_INDEX]!=0x55AA||g_com_map[COM_INTERVAL]==0) { @@ -580,9 +593,12 @@ // UART0 TX/RX io_pin_mux_set(IO_PIN_5, IO_FUNC0); io_pin_mux_set(IO_PIN_6, IO_FUNC0); + gpio_pin_set_dir(IO_PIN_5 , GPIO_DIR_OUT, 0); + gpio_pin_set_dir(IO_PIN_6 , GPIO_DIR_OUT, 0); // UART1 RX/TX io_pin_mux_set(IO_PIN_10, IO_FUNC0); io_pin_mux_set(IO_PIN_9, IO_FUNC0); + uart_close(UART_ID1);//解绑原来串口1 uart_close(UART_ID0);//解绑原来串口0 } @@ -599,13 +615,14 @@ switch(elapsed_time_jibu) { case UWB_OPEN_COUNT: - - CloseUWB(); + CloseUWB(); + uwbled = LEDOFF; break; case UWB_MEASUREMENT_INTERVAL: - OpenUWB(); - state_start_time = uwb_time_count; + OpenUWB(); + uwbled = BLUE; + state_start_time = uwb_time_count; break; } break; @@ -684,6 +701,7 @@ IIC2_Init(); Accelerometer_Init(); PCA9555_init(); + WT588E02B_Init(); adc_open(&usr_adc_cfg); uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); power_init(); @@ -714,6 +732,7 @@ while (1) { uwb_app_poll(); +// upload_apppoll(); Internet_Poll(); HIDO_TimerPoll(); HIDO_ATLitePoll(); -- Gitblit v1.9.3