From 8a6a630eddf6aa71e0f8d26ee510ab3f67f17e8e Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期三, 28 五月 2025 14:38:24 +0800
Subject: [PATCH] V1.12版本,新增5V输入检测和修改看门狗位置,和上次提交一致

---
 keil/include/main/main.c |   53 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 30 insertions(+), 23 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index 9528d5e..a195c02 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -68,7 +68,7 @@
 uint8_t enable_sleep_count,sleep_flag;
 uint32_t battery_get_count;
 //#define DEBUG_MODE
-
+uint32_t reboot_num;
 struct UART_CFG_T test_uart_cfg =
 {
         .parity = UART_PARITY_NONE,
@@ -118,7 +118,7 @@
         .callback = app_wdt_callback,
     };
 
-uint8_t state5v = 1;
+uint8_t state5v = 0;
 uint8_t bat_percent=0,g_start_send_flag=1;
 int16_t fVoltage_mv;
 uint8_t bat_percent;
@@ -133,9 +133,10 @@
 void boot_deinit(void);
 void Get_batterty_Voltage(void);
 void Calculate_battery_percent(void);
+uint8_t sleep_limit_time=1;
 static void uart_receive_callback(void *dev, uint32_t err_code)
 {		
-uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
+uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
 }
 void UartInit(void)
 {
@@ -176,9 +177,12 @@
 {
     //sleep_timer_start(__MS_TO_32K_CNT(1000));
 	static uint8_t lost_jumpcount=0;
+	reboot_num++;
+	if(reboot_num>=3600)
+		NVIC_SystemReset(); //软复位回到bootloader
 		enable_sleep_count++;
-	if(enable_sleep_count==SLEEP_START_TIME){
-
+	
+	if(enable_sleep_count==sleep_limit_time){
 		enable_sleep_count=0;
 		sleep_flag=1;
 	}
@@ -236,21 +240,24 @@
 group_id=g_com_map[GROUP_ID];
 memcpy(&dev_id ,&g_com_map[DEV_ID],2);
 tag_frequency=1000/g_com_map[COM_INTERVAL];	
-g_com_map[VERSION] = (1<<8)|6;
+g_com_map[VERSION] = (1<<8)|12;
 LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id);
-LOG_INFO(TRACE_MODULE_APP,"固件版本:UWB-标签 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
+LOG_INFO(TRACE_MODULE_APP,"固件版本:UWB-免布线信标 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
 }
+uint8_t test1;
 void IdleTask(void)
 { UART0_CheckReceive();
+	test1=gpio_pin_get_val(INPUT_5V_Pin);
 	if(gpio_pin_get_val(INPUT_5V_Pin))
 	{
-        	
-   
 		//UART_CheckSend();
 // bat_percent=Get_Battary();
 		if(state5v==0)
 		{
 			state5v=1;
+			sleep_flag=0;
+			sleep_limit_time=30;//新增插入串口后30s不休眠
+			enable_sleep_count=0;//重新插拔可以重置时间
 		}	
 	}else{
         if(state5v==1)
@@ -335,11 +342,11 @@
 	#endif
 		//Serial0_PutString("进入app测试\r\n");
     while (1)
-    {  wdt_ping(WDT_ID0);//喂狗
+    {  
 			if(g_start_send_flag)
 			{
 			//LOG_INFO(TRACE_MODULE_APP, "测距ing");
-			
+			wdt_ping(WDT_ID0);//喂狗
 			g_start_send_flag = 0;
 			gpio_pin_set(LED_PIN);//亮
 			TagRange();
@@ -350,18 +357,18 @@
 			}
 			LoraUp_Poll();
 #ifndef DEBUG_MODE
-//			if(sleep_flag){//开始一段时间无休眠
-//						trace_flush();
-//            uint32_t lock = int_lock();
-//						//LOG_INFO(TRACE_MODULE_APP, "进入低功耗");
-//						//唤醒源设置MK8000修改
-//						//board_5V_input_init(voltage_input_handler);
-//						//sleep_timer_start(g_com_map[COM_INTERVAL]);
-//            power_enter_power_down_mode(0);
-//						uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
-//					//LOG_INFO(TRACE_MODULE_APP, "进入低功耗");
-//            int_unlock(lock);
-//			}
+			if(sleep_flag){//开始一段时间无休眠
+						trace_flush();
+            uint32_t lock = int_lock();
+						//LOG_INFO(TRACE_MODULE_APP, "进入低功耗");
+						//唤醒源设置MK8000修改
+						//board_5V_input_init(voltage_input_handler);
+						//sleep_timer_start(g_com_map[COM_INTERVAL]);
+            power_enter_power_down_mode(0);
+						uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
+					//LOG_INFO(TRACE_MODULE_APP, "进入低功耗");
+            int_unlock(lock);
+			}
 #endif
     }
 

--
Gitblit v1.9.3