|
|
@ -26,6 +26,7 @@ |
|
|
|
|
|
|
|
TIM_HandleTypeDef htim4; |
|
|
|
TIM_HandleTypeDef htim6; |
|
|
|
TIM_HandleTypeDef htim8; |
|
|
|
|
|
|
|
/* TIM4 init function */ |
|
|
|
void MX_TIM4_Init(void) |
|
|
@ -104,6 +105,51 @@ 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_Encoder_InitTypeDef sConfig = {0}; |
|
|
|
TIM_MasterConfigTypeDef sMasterConfig = {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_DISABLE; |
|
|
|
sConfig.EncoderMode = TIM_ENCODERMODE_TI12; |
|
|
|
sConfig.IC1Polarity = TIM_ICPOLARITY_RISING; |
|
|
|
sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI; |
|
|
|
sConfig.IC1Prescaler = TIM_ICPSC_DIV1; |
|
|
|
sConfig.IC1Filter = 0; |
|
|
|
sConfig.IC2Polarity = TIM_ICPOLARITY_RISING; |
|
|
|
sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI; |
|
|
|
sConfig.IC2Prescaler = TIM_ICPSC_DIV1; |
|
|
|
sConfig.IC2Filter = 0; |
|
|
|
if (HAL_TIM_Encoder_Init(&htim8, &sConfig) != HAL_OK) |
|
|
|
{ |
|
|
|
Error_Handler(); |
|
|
|
} |
|
|
|
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; |
|
|
|
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; |
|
|
|
if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK) |
|
|
|
{ |
|
|
|
Error_Handler(); |
|
|
|
} |
|
|
|
/* USER CODE BEGIN TIM8_Init 2 */ |
|
|
|
|
|
|
|
/* USER CODE END TIM8_Init 2 */ |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle) |
|
|
|
{ |
|
|
@ -133,6 +179,30 @@ void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle) |
|
|
|
|
|
|
|
/* USER CODE END TIM4_MspInit 1 */ |
|
|
|
} |
|
|
|
else if(tim_encoderHandle->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_PULLUP; |
|
|
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
|
|
|
GPIO_InitStruct.Alternate = GPIO_AF3_TIM8; |
|
|
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |
|
|
|
|
|
|
|
/* USER CODE BEGIN TIM8_MspInit 1 */ |
|
|
|
|
|
|
|
/* USER CODE END TIM8_MspInit 1 */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) |
|
|
@ -176,6 +246,24 @@ void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* tim_encoderHandle) |
|
|
|
|
|
|
|
/* USER CODE END TIM4_MspDeInit 1 */ |
|
|
|
} |
|
|
|
else if(tim_encoderHandle->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); |
|
|
|
|
|
|
|
/* USER CODE BEGIN TIM8_MspDeInit 1 */ |
|
|
|
|
|
|
|
/* USER CODE END TIM8_MspDeInit 1 */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) |
|
|
|