From 255e388b2bf1c7923b3856fb7dad551475435874 Mon Sep 17 00:00:00 2001
From: MowYw <271013067@qq.com>
Date: 星期三, 16 十一月 2022 18:26:24 +0800
Subject: [PATCH] 给V5加蜂鸣器

---
 Src/main.c |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 70 insertions(+), 3 deletions(-)

diff --git a/Src/main.c b/Src/main.c
index 00b189d..917caf3 100644
--- a/Src/main.c
+++ b/Src/main.c
@@ -58,6 +58,7 @@
 SPI_HandleTypeDef hspi1;
 
 TIM_HandleTypeDef htim2;
+TIM_HandleTypeDef htim21;
 
 UART_HandleTypeDef huart1;
 DMA_HandleTypeDef hdma_usart1_rx;
@@ -76,6 +77,7 @@
 static void MX_ADC_Init(void);
 static void MX_DMA_Init(void);
 static void MX_TIM2_Init(void);
+static void MX_TIM21_Init(void);
 /* USER CODE BEGIN PFP */
 
 /* USER CODE END PFP */
@@ -132,6 +134,8 @@
 	//motor_state=2;
 if(g_com_map[MOTOR_ENABLE])
 {
+	
+//	hardware_type==GP;
     
 		if(motor_keeptime>0)
 		{
@@ -147,6 +151,7 @@
 			}else if(hardware_type==GP)
 			{
 			HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
+				HAL_TIM_PWM_Stop(&htim21, TIM_CHANNEL_2);
 			}
 			break;
 		case 1:
@@ -157,6 +162,7 @@
 				}else if(hardware_type==GP)
 				{
 				HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);
+					HAL_TIM_PWM_Start(&htim21, TIM_CHANNEL_2);
 				}	
 			}else{
 				if(hardware_type==NSH1)
@@ -164,6 +170,7 @@
 				}else if(hardware_type==GP)
 				{
 				HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
+					HAL_TIM_PWM_Stop(&htim21, TIM_CHANNEL_2);
 				}	
 			}				
 			break;
@@ -173,6 +180,7 @@
 				}else if(hardware_type==GP)
 				{
 				HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);
+					HAL_TIM_PWM_Start(&htim21, TIM_CHANNEL_2);
 				}	
 			break;
 		case 3:
@@ -181,6 +189,7 @@
 				}else if(hardware_type==GP)
 				{
 				HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
+					HAL_TIM_PWM_Stop(&htim21, TIM_CHANNEL_2);
 				}	
 			break;	
 	}
@@ -370,6 +379,7 @@
 			break;
 		case 2:
 			MX_TIM2_Init();
+			MX_TIM21_Init();
 			break;
 		}
 }
@@ -402,17 +412,18 @@
   SystemClock_Config();
 
   /* USER CODE BEGIN SysInit */
-	
+	MX_DMA_Init();
   /* 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_TIM2_Init();
+  MX_TIM21_Init();
   /* USER CODE BEGIN 2 */
 	LED_LG_ON;
 	Program_Init();
@@ -430,6 +441,13 @@
 	 Error_Handler();
 	}
    
+	
+//		HAL_TIM_PWM_Start(&htim21, TIM_CHANNEL_2);
+//		HAL_Delay(500);
+//		HAL_TIM_PWM_Stop(&htim21, TIM_CHANNEL_2);
+	
+	
+	
 	
 //	HAL_Delay(2000);
 //	mcu_sleep();
@@ -743,6 +761,55 @@
 }
 
 /**
+  * @brief TIM21 Initialization Function
+  * @param None
+  * @retval None
+  */
+static void MX_TIM21_Init(void)
+{
+
+  /* USER CODE BEGIN TIM21_Init 0 */
+
+  /* USER CODE END TIM21_Init 0 */
+
+  TIM_MasterConfigTypeDef sMasterConfig = {0};
+  TIM_OC_InitTypeDef sConfigOC = {0};
+
+  /* USER CODE BEGIN TIM21_Init 1 */
+
+  /* USER CODE END TIM21_Init 1 */
+  htim21.Instance = TIM21;
+  htim21.Init.Prescaler = 9;
+  htim21.Init.CounterMode = TIM_COUNTERMODE_UP;
+  htim21.Init.Period = 1171;
+  htim21.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+  htim21.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+  if (HAL_TIM_PWM_Init(&htim21) != HAL_OK)
+  {
+    Error_Handler();
+  }
+  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+  if (HAL_TIMEx_MasterConfigSynchronization(&htim21, &sMasterConfig) != HAL_OK)
+  {
+    Error_Handler();
+  }
+  sConfigOC.OCMode = TIM_OCMODE_PWM1;
+  sConfigOC.Pulse = 585;
+  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
+  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
+  if (HAL_TIM_PWM_ConfigChannel(&htim21, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
+  {
+    Error_Handler();
+  }
+  /* USER CODE BEGIN TIM21_Init 2 */
+
+  /* USER CODE END TIM21_Init 2 */
+  HAL_TIM_MspPostInit(&htim21);
+
+}
+
+/**
   * @brief USART1 Initialization Function
   * @param None
   * @retval None

--
Gitblit v1.9.3