Eg: Let the TIM1 work in slave mode(reset mode), and use TI1FP1 as trigger source.
Code: Select all
/* USER CODE BEGIN 4 */
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1)
//注意这里为HAL_TIM_ACTIVE_CHANNEL_1而不是TIM_CHANNEL_1
{
PWM_RisingCount = HAL_TIM_ReadCapturedValue(&htim3,TIM_CHANNEL_1);
duty = (float)PWM_FallingCount / PWM_RisingCount;
}
if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_2)
{
PWM_FallingCount = HAL_TIM_ReadCapturedValue(&htim3,TIM_CHANNEL_2);
}
}
/* USER CODE END 4 */