From 764fdbb09b66c77992e91d26e494e1b435c3d12f Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期三, 24 七月 2024 13:48:41 +0800
Subject: [PATCH] 1.72,加入电量检测

---
 Src/main.c |  103 +++++++++++++++++++++++++++------------------------
 1 files changed, 54 insertions(+), 49 deletions(-)

diff --git a/Src/main.c b/Src/main.c
index e21026c..7d018e2 100644
--- a/Src/main.c
+++ b/Src/main.c
@@ -74,13 +74,13 @@
 /* Private function prototypes -----------------------------------------------*/
 void SystemClock_Config(void);
 static void MX_GPIO_Init(void);
-static void MX_LPTIM1_Init(void);
+static void MX_DMA_Init(void);
 static void MX_USART1_UART_Init(void);
 static void MX_SPI1_Init(void);
 void MX_ADC_Init(void);
-static void MX_DMA_Init(void);
-static void MX_TIM2_Init(void);
+static void MX_LPTIM1_Init(void);
 static void MX_IWDG_Init(void);
+static void MX_TIM2_Init(void);
 /* USER CODE BEGIN PFP */
 
 /* USER CODE END PFP */
@@ -151,7 +151,7 @@
         UART_CheckReceive();
 		UART_CheckSend();
 		nomove_count = 0;
-       // bat_percent=Get_Battary();
+       bat_percent=Get_Battary();
 		if(state5v==0)
 		{
 			state5v=1;
@@ -213,30 +213,6 @@
 	__HAL_LPTIM_COMPARE_SET(&hlptim1, lpcount);
 
 }
-
-void HardWareTypeDiffConfig(void)
-{
-    GPIO_InitTypeDef GPIO_InitStruct = {0};
-    //hardware_type=2;
-    if(hardware_type == 0)
-        hardware_type = 1;
-	switch(hardware_type)
-		{
-        case 1:
-	  
-		 HAL_GPIO_WritePin(GPIOB, MOTOR_Pin, GPIO_PIN_SET);
-          GPIO_InitStruct.Pin = MOTOR_Pin;
-          GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
-          GPIO_InitStruct.Pull = GPIO_NOPULL;
-          GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
-          HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-			break;
-		case 2:
-			MX_TIM2_Init();
-		//BarInit();
-			break;
-		}
-}
 u8 active_flag,nomovesleeptime;
 void Program_Init(void)
 {	float temp;
@@ -248,7 +224,7 @@
 	hardware_pici = STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+2);
 	hardware_type = STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+4);
 	//deca_sleep(1000);
-	g_com_map[VERSION] = (1<<8)|65;
+	g_com_map[VERSION] = (1<<8)|72;
     
     #ifdef DEBUG_MODE
    // g_com_map[GROUP_ID]=21;
@@ -257,7 +233,7 @@
     //	g_com_map[MAX_REPORT_ANC_NUM]=1;
     //	g_com_map[NOMOVESLEEP_TIME]=10;
     #endif
-    g_com_map[GROUP_ID]=2;
+//    g_com_map[GROUP_ID]=3;
     g_com_map[COM_INTERVAL] = 1000;
     active_flag = g_com_map[ACTIVE_INDEX];
     module_power = g_com_map[POWER];
@@ -366,6 +342,35 @@
     HAL_ADC_DeInit(&hadc);
     HAL_ADCEx_DisableVREFINT();
 }
+uint8_t fengming_time;
+extern int32_t nearbase_distlist[MAX_NEARBASE_NUM];
+uint8_t PWM_Start;
+void Fengming_Poll(void)
+{ 
+
+    if(fengming_time>0&&fengming_time<10)
+    {
+    //    uwb_active_flag = 0;
+        HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);
+//        PWM_Start=1;
+    //    HAL_Delay(3000);
+    //    HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
+    }
+    else
+    {
+        HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
+//        PWM_Start=0;
+    }
+    for(int i=0;i<MAX_NEARBASE_NUM;i++)
+    {
+        if((nearbase_distlist[i]<g_com_map[ALARM_DISTANCE1]||nearbase_distlist[i]>60000)&&nearbase_distlist[i]!=0x1ffff&&nearbase_distlist[i]!=0)
+        {
+        fengming_time=3;
+        }
+    }
+
+}
+
 /* USER CODE END 0 */
 
 /**
@@ -395,16 +400,15 @@
   /* USER CODE END SysInit */
 
   /* Initialize all configured peripherals */
-    MX_GPIO_Init();
-    MX_LPTIM1_Init();
-    MX_DMA_Init();
-    MX_USART1_UART_Init();
-    MX_SPI1_Init();
-    MX_ADC_Init();
-
-    //  MX_TIM2_Init();
-    MX_IWDG_Init();
-    /* USER CODE BEGIN 2 */
+  MX_GPIO_Init();
+  MX_DMA_Init();
+  MX_USART1_UART_Init();
+  MX_SPI1_Init();
+  MX_ADC_Init();
+  MX_LPTIM1_Init();
+  MX_IWDG_Init();
+  MX_TIM2_Init();
+  /* USER CODE BEGIN 2 */
     LED_LG_ON;
     Program_Init();
     //	LIS3DH_Data_Init();	
@@ -419,6 +423,9 @@
      Error_Handler();
     }
     HAL_Delay(2000);
+//        HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);
+//    HAL_Delay(1000);
+//    HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
 //	mcu_sleep();
 	//LED0_BLINK;		
 //	SystemPower_Config();
@@ -471,7 +478,7 @@
         SCB->AIRCR = 0X05FA0000|(unsigned int)0x04;
      }
     #ifndef DEBUG_MODE	
-    if(!HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin))				
+    if(!HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin)&&fengming_time==0)				
                     HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);  
     #endif
     }
@@ -562,7 +569,7 @@
   hadc.Init.OversamplingMode = DISABLE;
   hadc.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;
   hadc.Init.Resolution = ADC_RESOLUTION_12B;
-  hadc.Init.SamplingTime = ADC_SAMPLETIME_160CYCLES_5;
+  hadc.Init.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
   hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD;
   hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
   hadc.Init.ContinuousConvMode = DISABLE;
@@ -581,7 +588,7 @@
   }
   /** Configure for the selected ADC regular channel to be converted.
   */
-  sConfig.Channel = ADC_CHANNEL_1;
+  sConfig.Channel = ADC_CHANNEL_VREFINT;
   sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
   if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)
   {
@@ -749,11 +756,7 @@
     Error_Handler();
   }
   /* USER CODE BEGIN TIM2_Init 2 */
-//if(HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3) != HAL_OK)
-//  {
-//    /* Starting Error */
-//    Error_Handler();
-//  }
+
   /* USER CODE END TIM2_Init 2 */
   HAL_TIM_MspPostInit(&htim2);
 
@@ -950,7 +953,9 @@
 	current_slotnum++;
     freqlost_count+=1/(float)tag_frequency;
     range_lost_time +=1/(float)tag_frequency;
-    
+    if(fengming_time>0)
+    {fengming_time--;}
+    Fengming_Poll();
     if(freqlost_count>FREQ_LOST_TIME)
     {
         tag_frequency = NOTAG_FREQ;

--
Gitblit v1.9.3