|
|
@ -26,6 +26,7 @@ |
|
|
|
|
|
|
|
TIM_HandleTypeDef htim4; |
|
|
|
TIM_HandleTypeDef htim6; |
|
|
|
TIM_HandleTypeDef htim8; |
|
|
|
|
|
|
|
/* TIM4 init function */ |
|
|
|
void MX_TIM4_Init(void) |
|
|
@ -117,6 +118,54 @@ void MX_TIM6_Init(void) |
|
|
|
/* USER CODE END TIM6_Init 2 */ |
|
|
|
|
|
|
|
} |
|
|
|
/* TIM8 init function */ |
|
|
|
void MX_TIM8_Init(void) |
|
|
|
{ |
|
|
|
|
|
|
|
/* USER CODE BEGIN TIM8_Init 0 */ |
|
|
|
|
|
|
|
/* USER CODE END TIM8_Init 0 */ |
|
|
|
|
|
|
|
TIM_MasterConfigTypeDef sMasterConfig = {0}; |
|
|
|
TIM_IC_InitTypeDef sConfigIC = {0}; |
|
|
|
|
|
|
|
/* USER CODE BEGIN TIM8_Init 1 */ |
|
|
|
|
|
|
|
/* USER CODE END TIM8_Init 1 */ |
|
|
|
htim8.Instance = TIM8; |
|
|
|
htim8.Init.Prescaler = 0; |
|
|
|
htim8.Init.CounterMode = TIM_COUNTERMODE_UP; |
|
|
|
htim8.Init.Period = 65535; |
|
|
|
htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; |
|
|
|
htim8.Init.RepetitionCounter = 0; |
|
|
|
htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; |
|
|
|
if (HAL_TIM_IC_Init(&htim8) != HAL_OK) |
|
|
|
{ |
|
|
|
Error_Handler(); |
|
|
|
} |
|
|
|
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; |
|
|
|
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; |
|
|
|
if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK) |
|
|
|
{ |
|
|
|
Error_Handler(); |
|
|
|
} |
|
|
|
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING; |
|
|
|
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI; |
|
|
|
sConfigIC.ICPrescaler = TIM_ICPSC_DIV1; |
|
|
|
sConfigIC.ICFilter = 0; |
|
|
|
if (HAL_TIM_IC_ConfigChannel(&htim8, &sConfigIC, TIM_CHANNEL_1) != HAL_OK) |
|
|
|
{ |
|
|
|
Error_Handler(); |
|
|
|
} |
|
|
|
if (HAL_TIM_IC_ConfigChannel(&htim8, &sConfigIC, TIM_CHANNEL_2) != HAL_OK) |
|
|
|
{ |
|
|
|
Error_Handler(); |
|
|
|
} |
|
|
|
/* USER CODE BEGIN TIM8_Init 2 */ |
|
|
|
|
|
|
|
/* USER CODE END TIM8_Init 2 */ |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) |
|
|
|
{ |
|
|
@ -166,6 +215,39 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void HAL_TIM_IC_MspInit(TIM_HandleTypeDef* tim_icHandle) |
|
|
|
{ |
|
|
|
|
|
|
|
GPIO_InitTypeDef GPIO_InitStruct = {0}; |
|
|
|
if(tim_icHandle->Instance==TIM8) |
|
|
|
{ |
|
|
|
/* USER CODE BEGIN TIM8_MspInit 0 */ |
|
|
|
|
|
|
|
/* USER CODE END TIM8_MspInit 0 */ |
|
|
|
/* TIM8 clock enable */ |
|
|
|
__HAL_RCC_TIM8_CLK_ENABLE(); |
|
|
|
|
|
|
|
__HAL_RCC_GPIOC_CLK_ENABLE(); |
|
|
|
/**TIM8 GPIO Configuration |
|
|
|
PC6 ------> TIM8_CH1 |
|
|
|
PC7 ------> TIM8_CH2 |
|
|
|
*/ |
|
|
|
GPIO_InitStruct.Pin = GPIO_PIN_6|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_TIM8; |
|
|
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |
|
|
|
|
|
|
|
/* TIM8 interrupt Init */ |
|
|
|
HAL_NVIC_SetPriority(TIM8_CC_IRQn, 5, 0); |
|
|
|
HAL_NVIC_EnableIRQ(TIM8_CC_IRQn); |
|
|
|
/* USER CODE BEGIN TIM8_MspInit 1 */ |
|
|
|
|
|
|
|
/* USER CODE END TIM8_MspInit 1 */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) |
|
|
|
{ |
|
|
|
|
|
|
@ -205,6 +287,31 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void HAL_TIM_IC_MspDeInit(TIM_HandleTypeDef* tim_icHandle) |
|
|
|
{ |
|
|
|
|
|
|
|
if(tim_icHandle->Instance==TIM8) |
|
|
|
{ |
|
|
|
/* USER CODE BEGIN TIM8_MspDeInit 0 */ |
|
|
|
|
|
|
|
/* USER CODE END TIM8_MspDeInit 0 */ |
|
|
|
/* Peripheral clock disable */ |
|
|
|
__HAL_RCC_TIM8_CLK_DISABLE(); |
|
|
|
|
|
|
|
/**TIM8 GPIO Configuration |
|
|
|
PC6 ------> TIM8_CH1 |
|
|
|
PC7 ------> TIM8_CH2 |
|
|
|
*/ |
|
|
|
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7); |
|
|
|
|
|
|
|
/* TIM8 interrupt Deinit */ |
|
|
|
HAL_NVIC_DisableIRQ(TIM8_CC_IRQn); |
|
|
|
/* USER CODE BEGIN TIM8_MspDeInit 1 */ |
|
|
|
|
|
|
|
/* USER CODE END TIM8_MspDeInit 1 */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* USER CODE BEGIN 1 */ |
|
|
|
|
|
|
|
/* USER CODE END 1 */ |