From 0f4ab015bab679dfbf4959716832b5bd976c1a8b Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期五, 11 四月 2025 09:33:40 +0800 Subject: [PATCH] 逻辑完整,3S开一秒接收的版本,现在测试未优化功耗40ma,串口1反初始化 --- keil/include/main/main.c | 58 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 45 insertions(+), 13 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index 90a9681..0908493 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -359,7 +359,7 @@ { stationary_flag = 0; } -// nomove_count++; + nomove_count++; #ifdef DEBUG_BOXING // gpio_pin_clr(BOXING_PIN);//测试 gpio_pin_set(BOXING_PIN);//测试 @@ -484,6 +484,33 @@ } } +void mcu_deep_sleep(void) +{ + uint32_t lock; + trace_flush(); + lock = int_lock(); + LOG_INFO(TRACE_MODULE_APP, "进入深度休眠\r\n"); + //关闭蓝牙 灯 + LORA_LED_OFF; + GREEN_LED_OFF; + UWB_LED_OFF; + RED_LED_OFF; + BT_LED_OFF; + PCA9555_Set_One_Value_Output(BT_EN,0); + sleep_timer_stop(); + power_enter_power_down_mode(1); + sys_reset(0); + int_unlock(lock); +} +void IMUTask(void) +{ + if(nomove_count>5&&g_com_map[IMU_ENABLE]==1) + { +// power_wakeup_enable(WK_UP_POSITION&gpio_state, POWER_WAKEUP_LEVEL_HIGH);//配置唤醒等待进入休眠 + power_enter_power_down_mode(1); +// mcu_deep_sleep(); + } +} #define TEST_SPI_MASTER 0 #define TEST_SPI_POLL_MODE 0 #define TEST_SPI_INTERUPT_MODE 1 @@ -507,12 +534,16 @@ // io_pin_mux_set(ADC_PIN, IO_FUNC1); // io_pull_set(ADC_PIN, IO_HIGH_Z, IO_PULL_UP_NONE); - //串口0 - io_pin_mux_set(UART0_RX, IO_FUNC4); - io_pin_mux_set(UART0_TX, IO_FUNC4); +// //串口0 +// io_pin_mux_set(UART0_RX, IO_FUNC4); +// io_pin_mux_set(UART0_TX, IO_FUNC4); - board_debug_console_open(TRACE_PORT_UART0); - uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart0_receive_callback);//开启dma + io_pin_mux_set(UART0_RX, IO_FUNC0); + gpio_pin_set_dir(UART0_RX , GPIO_DIR_IN, 0); + io_pin_mux_set(UART0_TX, IO_FUNC0); + gpio_pin_set_dir(UART0_TX , GPIO_DIR_IN, 0); +// board_debug_console_open(TRACE_PORT_UART0); +// uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart0_receive_callback);//开启dma //串口1 // io_pin_mux_set(UART1_RX, IO_FUNC4); @@ -621,12 +652,12 @@ uint8_t io14_state; uint16_t lora_freq=0; uint16_t lora_up_count=0; -uint8_t TXBuffer[8]={0,1,2,3,4,5,6,7}; -uint8_t test_buf[10]={0,1,1,1,1,1,1,1,1,1}; +//uint8_t TXBuffer[8]={0,1,2,3,4,5,6,7}; +//uint8_t test_buf[10]={0,1,1,1,1,1,1,1,1,1}; int main(void) { board_clock_run(); - // boot_deinit(); + boot_deinit(); // board_debug_console_open(TRACE_PORT_UART1); // Reset reason reset_cause_get(); @@ -649,7 +680,7 @@ Lora_1268_Init(); SwitchLoraSettings(478,7,22); Program_Init(); - + power_init(); sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback); sleep_timer_start(__MS_TO_32K_CNT(1000));//测试 @@ -659,15 +690,16 @@ io_pull_set(BOXING_PIN,IO_PULL_DOWN,IO_PULL_UP_LEVEL4); #endif Uwbinit(); - OpenUWB(); +// OpenUWB(); while (1) { #ifdef DEBUG_BOXING gpio_pin_clr(BOXING_PIN);//测试 // gpio_pin_set(BOXING_PIN);//测试 #endif - Lora_Tx_Poll(); - uwb_app_poll(); +// Lora_Tx_Poll(); +// uwb_app_poll(); IdleTask(); + IMUTask(); } } -- Gitblit v1.9.3