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);
STM32学习笔记时钟定时 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)