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