首先选定一个定时器,了解你的时钟配置
图中定时器的总线都是72M,我们选定定时器3,如果我们想要一秒触发一次定时器中断的话,应该将这个定时器设为1Hz,按照如下配置,但是因为我们用的是内部时钟,上图可知是8M,所以应按照如下配置:
8,000,000 / 4000 / 2000 = 1Hz,
然后我们在代码中添加如下片段:
printf("begin\n");HAL_TIM_Base_Start_IT(&htim3);
然后再添加如下片段:
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){if (htim->Instance == htim3.Instance){printf("htim3\n");}}
然后烧录程序进去,可以在串口一看到一秒一次的打印内容