前面讲了几个寄存器,现在说说定时器A的三种功能
定时器
定时器主要是配置tatcl
在
TASSELx 选择时钟源(这里X是因为有两位来控制,或者查询IAR里面的430的头文件找简单的书写方式,有对应的 #define)
这边我一般都是是选用ACLK,到时候用外部中断唤醒CPU
对应时钟就是分频,选择IDx(1/2/4/8)
选择MCx,来控制16位计数器计数模式。
这里面会用到寄存器中的TACCR0,这是一个16位的寄存器,可以存0~65536之中的任意值,(一般根据计算机器周期等等的,输入一个值,来使TAR计数器累加到咱们计算出啦的数字后产生中断)比如,我知道计数器数数字数到32768需要一秒时间,那我就可以在taccr0中赋值32768,当tar中的值等于32768的时候,就产生中断。在这之前,中断使能哦,还有总中断开关打开。
一般这样就可以工作了,如果需要中断的操作的,配置一下TAIE 和 TAIFG,这个中断标志要软件清零,然而TACLR这个是用来复位TAR的,一般不用管,因为会自动清零
TAR寄存器是16位的计数用的寄存器,最大能存的值为65536(2^16),通俗点说就是用二进制来数数,从0,1,2,3…一直数到一定值