Zigbee-cc2530 笔记---定时器

定时器包括一个 16 位计数器,在每个活动时钟边沿递增或递减。活动时钟边沿周期由寄存器位CLKCON.TICKSPD定义,它设置全球系统时钟的划分,提供了从 0.25MHz到 32MHz的不同的时钟标签频率(可以使用32MHzXOSC作为时钟源)。这在定时器1中由T1CTL.DIV设置的分频器值进一步划分。这个分频器值可以从1、 8、 32或128。因此当32MHz晶振用作系统时钟源时,定时器1可以使用的最低时钟频率是1953.125Hz,最高是32MHz。当16MHzRC振荡器用作系统时钟源时,定时器1可以使用的最高时钟频率是16MHz。
计数器可以作为一个自由运行计数器, 一个模计数器或一个正计数/倒计数器运行,用于中心对齐的PWM。
可以通过两个8位的SFR读取16位的计数器值: T1CNTH和T1CNTL,分别包含在高位字节和低位字节中。当读取T1CNTL时,计数器的高位字节在那时被缓冲到T1CNTH,以便高位字节可以从T1CNTH中读出。因此T1CNTL必须总是在读取T1CNTH之前首先读取。对T1CNTL寄存器的所有写入访问将复位16位计数器。
当达到最终计数值(溢出)时,计数器产生一个中断请求。可以用T1CTL控制寄存器设置启动并停止该计数器。当一个不是00值的写入到T1CTL.MODE时,计数器开始运行。如果00写入到T1CTL.MODE,计数器停止在它现在的值上

定时器的三种模式
自由运行模式
这里写图片描述
模模式
这里写图片描述
正计数\倒计数模式
这里写图片描述
用到的寄存器
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

简单模式的编程

这里写图片描述

拓展:
在模模式中,定时器1输出PWM波形,定时器3捕获并通过串口将捕获的数据发往上位机
这里写图片描述
代码测试了先捕获上升沿,继而捕获上升沿和下降沿的方式,进而计算出一个PWM波形的周期和占空比
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述 程序在给出100ms周期下,通过串口捕获到98ms左右的周期