用CUBEMX设置定时器,如果只用到溢出中断,设置非常简单,如下
下面接着设置定时器中断溢出周期:图中红框内即设置的两个重要参数
计算溢出周期的方法 T=((PSC+1)*(ARR+1))/系统主频(单位为秒)
比如此处溢出周期T=600*800/48000000=0.01s=10ms
生产代码后的设置为在stm32f0xx_hal_tim.c中找到函数void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim),此函数为定时器中断服务函数,包括
N多种定时器的中断(溢出中断、比较中断、输入捕获中断......),在此函数内找到处理溢出中断的代码行
/* TIM Update event */
if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET)
{
if(__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) !=RESET)
{
__HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE);
HAL_TIM_PeriodElapsedCallback(htim);
}
}
在 HAL_TIM_