|
- /* USER CODE BEGIN Header */
- /**
- ******************************************************************************
- * @file tim.c
- * @brief This file provides code for the configuration
- * of the TIM instances.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2025 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
- /* USER CODE END Header */
- /* Includes ------------------------------------------------------------------*/
- #include "tim.h"
-
- /* USER CODE BEGIN 0 */
-
- /* USER CODE END 0 */
-
- TIM_HandleTypeDef htim2;
- TIM_HandleTypeDef htim10;
- TIM_HandleTypeDef htim11;
- TIM_HandleTypeDef htim13;
- TIM_HandleTypeDef htim14;
-
- /* TIM2 init function */
- void MX_TIM2_Init(void)
- {
-
- /* USER CODE BEGIN TIM2_Init 0 */
-
- /* USER CODE END TIM2_Init 0 */
-
- TIM_ClockConfigTypeDef sClockSourceConfig = {0};
- TIM_MasterConfigTypeDef sMasterConfig = {0};
-
- /* USER CODE BEGIN TIM2_Init 1 */
-
- /* USER CODE END TIM2_Init 1 */
- htim2.Instance = TIM2;
- htim2.Init.Prescaler = 0;
- htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
- htim2.Init.Period = 4294967295;
- htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
- htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
- {
- Error_Handler();
- }
- sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_ETRMODE2;
- sClockSourceConfig.ClockPolarity = TIM_CLOCKPOLARITY_NONINVERTED;
- sClockSourceConfig.ClockPrescaler = TIM_CLOCKPRESCALER_DIV1;
- sClockSourceConfig.ClockFilter = 0;
- if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
- {
- Error_Handler();
- }
- sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
- sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
- if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN TIM2_Init 2 */
- __HAL_TIM_CLEAR_FLAG(&htim2, TIM_FLAG_UPDATE);
- HAL_TIM_Base_Start_IT(&htim2);
- /* USER CODE END TIM2_Init 2 */
-
- }
- /* TIM10 init function */
- void MX_TIM10_Init(void)
- {
-
- /* USER CODE BEGIN TIM10_Init 0 */
-
- /* USER CODE END TIM10_Init 0 */
-
- TIM_OC_InitTypeDef sConfigOC = {0};
-
- /* USER CODE BEGIN TIM10_Init 1 */
-
- /* USER CODE END TIM10_Init 1 */
- htim10.Instance = TIM10;
- htim10.Init.Prescaler = 72;
- htim10.Init.CounterMode = TIM_COUNTERMODE_UP;
- htim10.Init.Period = 65535;
- htim10.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
- htim10.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
- if (HAL_TIM_Base_Init(&htim10) != HAL_OK)
- {
- Error_Handler();
- }
- if (HAL_TIM_PWM_Init(&htim10) != HAL_OK)
- {
- Error_Handler();
- }
- sConfigOC.OCMode = TIM_OCMODE_PWM1;
- sConfigOC.Pulse = 32767;
- sConfigOC.OCPolarity = TIM_OCPOLARITY_LOW;
- sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
- if (HAL_TIM_PWM_ConfigChannel(&htim10, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN TIM10_Init 2 */
- __HAL_TIM_CLEAR_FLAG(&htim10, TIM_FLAG_UPDATE);
- __HAL_TIM_CLEAR_IT(&htim10, TIM_IT_UPDATE);
- TIM10->SR = 0; // 直接清除状态寄存器
-
- TIM_MasterConfigTypeDef sMasterConfig = {0};
- sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; // TRGO信号源为更新事件
- sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; // 仅主模式
- HAL_TIMEx_MasterConfigSynchronization(&htim10, &sMasterConfig);
- /* USER CODE END TIM10_Init 2 */
- HAL_TIM_MspPostInit(&htim10);
-
- }
- /* TIM11 init function */
- void MX_TIM11_Init(void)
- {
-
- /* USER CODE BEGIN TIM11_Init 0 */
-
- /* USER CODE END TIM11_Init 0 */
-
- TIM_OC_InitTypeDef sConfigOC = {0};
-
- /* USER CODE BEGIN TIM11_Init 1 */
-
- /* USER CODE END TIM11_Init 1 */
- htim11.Instance = TIM11;
- htim11.Init.Prescaler = 0;
- htim11.Init.CounterMode = TIM_COUNTERMODE_UP;
- htim11.Init.Period = 65535;
- htim11.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
- htim11.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- if (HAL_TIM_Base_Init(&htim11) != HAL_OK)
- {
- Error_Handler();
- }
- if (HAL_TIM_PWM_Init(&htim11) != HAL_OK)
- {
- Error_Handler();
- }
- sConfigOC.OCMode = TIM_OCMODE_PWM1;
- sConfigOC.Pulse = 0;
- sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
- sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
- if (HAL_TIM_PWM_ConfigChannel(&htim11, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN TIM11_Init 2 */
-
- /* USER CODE END TIM11_Init 2 */
- HAL_TIM_MspPostInit(&htim11);
-
- }
- /* TIM13 init function */
- void MX_TIM13_Init(void)
- {
-
- /* USER CODE BEGIN TIM13_Init 0 */
-
- /* USER CODE END TIM13_Init 0 */
-
- TIM_OC_InitTypeDef sConfigOC = {0};
-
- /* USER CODE BEGIN TIM13_Init 1 */
-
- /* USER CODE END TIM13_Init 1 */
- htim13.Instance = TIM13;
- htim13.Init.Prescaler = 0;
- htim13.Init.CounterMode = TIM_COUNTERMODE_UP;
- htim13.Init.Period = 65535;
- htim13.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
- htim13.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- if (HAL_TIM_Base_Init(&htim13) != HAL_OK)
- {
- Error_Handler();
- }
- if (HAL_TIM_PWM_Init(&htim13) != HAL_OK)
- {
- Error_Handler();
- }
- sConfigOC.OCMode = TIM_OCMODE_PWM1;
- sConfigOC.Pulse = 0;
- sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
- sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
- if (HAL_TIM_PWM_ConfigChannel(&htim13, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN TIM13_Init 2 */
-
- /* USER CODE END TIM13_Init 2 */
- HAL_TIM_MspPostInit(&htim13);
-
- }
- /* TIM14 init function */
- void MX_TIM14_Init(void)
- {
-
- /* USER CODE BEGIN TIM14_Init 0 */
-
- /* USER CODE END TIM14_Init 0 */
-
- TIM_OC_InitTypeDef sConfigOC = {0};
-
- /* USER CODE BEGIN TIM14_Init 1 */
-
- /* USER CODE END TIM14_Init 1 */
- htim14.Instance = TIM14;
- htim14.Init.Prescaler = 0;
- htim14.Init.CounterMode = TIM_COUNTERMODE_UP;
- htim14.Init.Period = 65535;
- htim14.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
- htim14.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- if (HAL_TIM_Base_Init(&htim14) != HAL_OK)
- {
- Error_Handler();
- }
- if (HAL_TIM_PWM_Init(&htim14) != HAL_OK)
- {
- Error_Handler();
- }
- sConfigOC.OCMode = TIM_OCMODE_PWM1;
- sConfigOC.Pulse = 0;
- sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
- sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
- if (HAL_TIM_PWM_ConfigChannel(&htim14, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN TIM14_Init 2 */
-
- /* USER CODE END TIM14_Init 2 */
- HAL_TIM_MspPostInit(&htim14);
-
- }
-
- void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
- {
-
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(tim_baseHandle->Instance==TIM2)
- {
- /* USER CODE BEGIN TIM2_MspInit 0 */
-
- /* USER CODE END TIM2_MspInit 0 */
- /* TIM2 clock enable */
- __HAL_RCC_TIM2_CLK_ENABLE();
-
- __HAL_RCC_GPIOA_CLK_ENABLE();
- /**TIM2 GPIO Configuration
- PA15 ------> TIM2_ETR
- */
- GPIO_InitStruct.Pin = GPIO_PIN_15;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- /* TIM2 interrupt Init */
- HAL_NVIC_SetPriority(TIM2_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(TIM2_IRQn);
- /* USER CODE BEGIN TIM2_MspInit 1 */
-
- /* USER CODE END TIM2_MspInit 1 */
- }
- else if(tim_baseHandle->Instance==TIM10)
- {
- /* USER CODE BEGIN TIM10_MspInit 0 */
-
- /* USER CODE END TIM10_MspInit 0 */
- /* TIM10 clock enable */
- __HAL_RCC_TIM10_CLK_ENABLE();
- /* USER CODE BEGIN TIM10_MspInit 1 */
-
- /* USER CODE END TIM10_MspInit 1 */
- }
- else if(tim_baseHandle->Instance==TIM11)
- {
- /* USER CODE BEGIN TIM11_MspInit 0 */
-
- /* USER CODE END TIM11_MspInit 0 */
- /* TIM11 clock enable */
- __HAL_RCC_TIM11_CLK_ENABLE();
- /* USER CODE BEGIN TIM11_MspInit 1 */
-
- /* USER CODE END TIM11_MspInit 1 */
- }
- else if(tim_baseHandle->Instance==TIM13)
- {
- /* USER CODE BEGIN TIM13_MspInit 0 */
-
- /* USER CODE END TIM13_MspInit 0 */
- /* TIM13 clock enable */
- __HAL_RCC_TIM13_CLK_ENABLE();
- /* USER CODE BEGIN TIM13_MspInit 1 */
-
- /* USER CODE END TIM13_MspInit 1 */
- }
- else if(tim_baseHandle->Instance==TIM14)
- {
- /* USER CODE BEGIN TIM14_MspInit 0 */
-
- /* USER CODE END TIM14_MspInit 0 */
- /* TIM14 clock enable */
- __HAL_RCC_TIM14_CLK_ENABLE();
- /* USER CODE BEGIN TIM14_MspInit 1 */
-
- /* USER CODE END TIM14_MspInit 1 */
- }
- }
- void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
- {
-
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(timHandle->Instance==TIM10)
- {
- /* USER CODE BEGIN TIM10_MspPostInit 0 */
-
- /* USER CODE END TIM10_MspPostInit 0 */
- __HAL_RCC_GPIOF_CLK_ENABLE();
- /**TIM10 GPIO Configuration
- PF6 ------> TIM10_CH1
- */
- GPIO_InitStruct.Pin = GPIO_PIN_6;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF3_TIM10;
- HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
-
- /* USER CODE BEGIN TIM10_MspPostInit 1 */
-
- /* USER CODE END TIM10_MspPostInit 1 */
- }
- else if(timHandle->Instance==TIM11)
- {
- /* USER CODE BEGIN TIM11_MspPostInit 0 */
-
- /* USER CODE END TIM11_MspPostInit 0 */
-
- __HAL_RCC_GPIOF_CLK_ENABLE();
- /**TIM11 GPIO Configuration
- PF7 ------> TIM11_CH1
- */
- GPIO_InitStruct.Pin = GPIO_PIN_7;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF3_TIM11;
- HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
-
- /* USER CODE BEGIN TIM11_MspPostInit 1 */
-
- /* USER CODE END TIM11_MspPostInit 1 */
- }
- else if(timHandle->Instance==TIM13)
- {
- /* USER CODE BEGIN TIM13_MspPostInit 0 */
-
- /* USER CODE END TIM13_MspPostInit 0 */
-
- __HAL_RCC_GPIOF_CLK_ENABLE();
- /**TIM13 GPIO Configuration
- PF8 ------> TIM13_CH1
- */
- GPIO_InitStruct.Pin = GPIO_PIN_8;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF9_TIM13;
- HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
-
- /* USER CODE BEGIN TIM13_MspPostInit 1 */
-
- /* USER CODE END TIM13_MspPostInit 1 */
- }
- else if(timHandle->Instance==TIM14)
- {
- /* USER CODE BEGIN TIM14_MspPostInit 0 */
-
- /* USER CODE END TIM14_MspPostInit 0 */
-
- __HAL_RCC_GPIOF_CLK_ENABLE();
- /**TIM14 GPIO Configuration
- PF9 ------> TIM14_CH1
- */
- GPIO_InitStruct.Pin = GPIO_PIN_9;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- GPIO_InitStruct.Alternate = GPIO_AF9_TIM14;
- HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
-
- /* USER CODE BEGIN TIM14_MspPostInit 1 */
-
- /* USER CODE END TIM14_MspPostInit 1 */
- }
-
- }
-
- void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
- {
-
- if(tim_baseHandle->Instance==TIM2)
- {
- /* USER CODE BEGIN TIM2_MspDeInit 0 */
-
- /* USER CODE END TIM2_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_TIM2_CLK_DISABLE();
-
- /**TIM2 GPIO Configuration
- PA15 ------> TIM2_ETR
- */
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_15);
-
- /* TIM2 interrupt Deinit */
- HAL_NVIC_DisableIRQ(TIM2_IRQn);
- /* USER CODE BEGIN TIM2_MspDeInit 1 */
-
- /* USER CODE END TIM2_MspDeInit 1 */
- }
- else if(tim_baseHandle->Instance==TIM10)
- {
- /* USER CODE BEGIN TIM10_MspDeInit 0 */
-
- /* USER CODE END TIM10_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_TIM10_CLK_DISABLE();
- /* USER CODE BEGIN TIM10_MspDeInit 1 */
-
- /* USER CODE END TIM10_MspDeInit 1 */
- }
- else if(tim_baseHandle->Instance==TIM11)
- {
- /* USER CODE BEGIN TIM11_MspDeInit 0 */
-
- /* USER CODE END TIM11_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_TIM11_CLK_DISABLE();
- /* USER CODE BEGIN TIM11_MspDeInit 1 */
-
- /* USER CODE END TIM11_MspDeInit 1 */
- }
- else if(tim_baseHandle->Instance==TIM13)
- {
- /* USER CODE BEGIN TIM13_MspDeInit 0 */
-
- /* USER CODE END TIM13_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_TIM13_CLK_DISABLE();
- /* USER CODE BEGIN TIM13_MspDeInit 1 */
-
- /* USER CODE END TIM13_MspDeInit 1 */
- }
- else if(tim_baseHandle->Instance==TIM14)
- {
- /* USER CODE BEGIN TIM14_MspDeInit 0 */
-
- /* USER CODE END TIM14_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_TIM14_CLK_DISABLE();
- /* USER CODE BEGIN TIM14_MspDeInit 1 */
-
- /* USER CODE END TIM14_MspDeInit 1 */
- }
- }
-
- /* USER CODE BEGIN 1 */
-
- /* USER CODE END 1 */
|