今天看了并实际做了一次正点原子的定时器中断实验,实验结果并不重要,这部分教程的意义在于让我们学会如何去配置一个定时器中断。
想要使用定时器中断,我们要进行各种配置,将它们整合到一个初始化函数里,在这个函数中我们要做的事主要有:
1.定义NVIC和定时器初始化的结构体。
2.使能定时器时钟。
3.配置NVIC和定时器的各个参数,并调用相应的初始化参数将它们初始化。
4.使能定时器中断。
5.使能定时器。
初始化函数定义好后就要编写中断处理函数了,每次定时器记数到设定值时就会触发中断函数,函数的一开始要先获取定时器中断的状态,如果确实发生了中断,先清楚标志位,再进行下一步(中断函数具体要做的事)。
过程中有一个比较重要的公式,关于定时器中断的间隔时间,其公式为:
假设系统时钟频率为72Mhz,psc=7199,我想产生一个1ms的定时器中断,则
1000=arr*7200/72
arr=10