微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32学习笔记一时钟和定时器

STM32学习笔记一时钟和定时器

时间:11-19 来源:互联网 点击:

③中断服务函数:

中断函数的名字,TIM3的为TIM3_IRQHandler

中断服务函数内包含了:判断是否发生中断、中断发生后执行的内容、清除标志位三部分。

首先是判断是否发生了更新中断,利用库函数TIM_GetITStatus(P1,P2),它的参数P1为代号,这里是TIM3,P2为中断类型,这里为更新中断TIM_IT_Update,当它为1时即发生了更新中断,这里为了增强可读性,采用一个RESET代表0,当函数返回值不是RESET的时候,即发生了置位(中断)。

清除标志位采用的是库函数TIM_ClearITPendingBit(P1,P2),参数与判断的函数一样。

具体函数如下:

void TIM3_IRQHandler(void){if(TIM_GetITStatus(TIM3,TIM_IT_Update)!=RESET){TIM_ClearITPendingBit(TIM3,TIM_IT_Update);//在这里执行中断内容}}

④完成调用

只要在main函数里调用TIM3_Init()函数,并填入适当的参数,即可实现精确的定时中断,例如获得一秒,即72M个数字中断一次,可分解为10000*7200,配置如下:

TIM3_Init(9999,7199);

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top