STM32定时器中断应用实例

2023-06-07  

本文将介绍:通过STM32cube mx配置工程文件,实现定时器中断的功能;

实例中使用的是STM32F407芯片

①STM32cube mx配置工程文件

②代码实现

①STM32cube mx配置工程文件

Step1:使能RCC、选择外部晶振

pYYBAGRCBL6AOalyAALbDMjRjLc099.jpg

Step2:配置时钟树

poYBAGRCBMCAUgMuAADY_Ygflmc478.jpg

Step3:使能TIM6、配置TIM6 ,1秒产生一次定时器中断

pYYBAGRCBMKAI7__AAMMFd-YEEI045.jpg

Step4:配置中断的优先级分组、中断优先级

poYBAGRCBMOAFbWlAAKIylntoY8413.jpg

Step4:使能串口、用于调试使用

pYYBAGRCBMSAW-VxAAMB80MM6aw783.jpg

Step5:生成工程文件

poYBAGRCBMaAOWC8AAI9hRfjKfU198.jpg

②代码实现

Step1:编写串口输出重定向函数,用于调试使用;记得添加头文件stdio.h

pYYBAGRCBMaARofGAABNOAcO_Lk420.jpg

Step2:开启定时器中断

pYYBAGRCBMeAdwUnAAKp32o9VP8779.jpg

Step3:自定义定时器中断服务函数

先在启动文件中找到tim6的中断向量位置:

pYYBAGRCBMmADknXAATyOi4JX-s487.jpg

Go to define of TIM6_DAC......:

poYBAGRCBMqAR2A-AANii6SMNFk978.jpg

Go to define of HAL_TIM_IRQHandler...:找到HAL_TIM_Period...

pYYBAGRCBMyAOLN_AAQes1Xr7_I793.jpg

重定义定时器6的定时中断服务函数:

poYBAGRCBM6AM6jdAALbX3O2hyA306.jpg

Step4:编译运行,可以看到串口屏幕上每一秒输出一次“timer6 interrupt”


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。