控制電機,希望得到确定數量的PWM波形
使能PWM中斷
實測
HAL_TIM_OC_DelayElapsedCallback(htim);
HAL_TIM_PWM_PulseFinishedCallback(htim);
都會被調用。
在中斷處理函數中也證明了這點
void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
{
......
/* Output compare event */
else
{
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
htim->OC_DelayElapsedCallback(htim);
htim->PWM_PulseFinishedCallback(htim);
#else
HAL_TIM_OC_DelayElapsedCallback(htim);
HAL_TIM_PWM_PulseFinishedCallback(htim);
#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
}
......
}
失能中斷後,實測兩個函數都不會被調用
是以對PWM的控制使用這兩個都可以?有什麼差別?