1、选择定时器,配置为计数模式。下面以定时器5为例。
Prescaler为分频系数,Counter Period为自动重装载系数。定时计数公式如下:
Tout= ((arr+1)*(psc+1))/Tclk;
arr:计数重装值,psc分频数,Tclk系统时钟频率,Tout一个周期的时间。
同时需要点击NVIC Settings勾选中断。
在选择外部中断时,需要注意点如下:
force dma channels interrupts不要勾选。否则进入不了中断。
在生成代码之后,需要手动添加定时器中断启动函数!!!!!
启动函数代码如下:
形参为定时器句柄。
中断服务函数在stm32h7xx_it.c文件里面。HAL库使用了回调函数,其函数如下:
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
直接在此函数里面使用判断语句(if(htim==(&htim5))来判断是否为定时器5产生的定时器中断,若是,就在if里面执行要执行的代码。