ARM学习《八》——STM32定时器配置及其中断设置!
首先定义定时器头文件,也就是定义寄存器以供操作:
//*************************************************************************
//
// TIM2-Register
//
//*************************************************************************
然后配置定时器TIM2:
void TIM2_Configuration(void)
{
}
注:RCC_APB1ENR,SETENA0前面的文章已经定义过
中断函数处理:
void TIM2_IRQHandler(void)
{
if(TIM1_SR&0x01)
解释:1S中断来一次,向串口发送一字节数据0xAA;
接下来就在main()函数中添加配置定时器就可以了:
int main()
GPIO_PORTB_ODR&=~(1<5);
}
当然以上TIM2的配置必须在系统(时钟)初始化以后,因为这些外设的工作要有时钟来源的,知道了时钟来源,和频率才能计算出定时的时间等参数,本程序是基于所有时钟都设置成20M来执行的。前面的几个初始化函数以及寄存器设置都是调用的前面文章中设置好的。
好了,查看串口(9600),调试成功,1S发送1个0xAA,这样看起来是很简单,但调试的过程是艰难的,要一次次的实验,一个寄存器一个寄存器的进行配置,学习本来就是一个缓慢而且艰辛的过程,但是当你看到LED在闪烁,串口上收到数据时,说有的付出都是值得的,天道酬勤,一切困难都是纸老虎!
ARM学习定时器配置其中断设 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)