控制电机,希望得到确定数量的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的控制使用这两个都可以?有什么区别?