一、zigbee定时器基础
1、定时器的概念
定时/计数器,是一种能够对内部时钟信号或外部输入信号进行计数 ,当计数值达到设定要求时向 CPU 提出中断处理请求,从而实现定时或者计数功能的外设。
定时/计数器的最基本工作原理是进行计数。不管是定时器还是计数器,本质上都是计数器,可以进行加 1(减1)计数,每出现一个计数信号,计数器就会自动加1(自动减1),当计数值从0变成最大值(或从最大值变成 0)溢出时,定时/计数器就会向 CPU 提出中断请求。
2、zigbee的定时器资源介绍(CC2530为例)
CC2530 共有5 个定时/计数器,其中定时器1是一个 16 位的定时器,其他的为8位定时器(定时器3、4)。定时器的几种工作模式有:
(1)自由运行模式:计数器从0x0000开始,在每个活动 时钟边沿增加1,当计数器达到0xFFFF时溢出,计数器重新载入0x0000并开始新一轮的递增计数。该模式的计数周期是固定值0xFFFF。当达到最终计数值 0xFF(发生了一个溢出),就设置中断标志 TIMIF.TxOVFIF。如果设置了相应的中断屏蔽位 TxCTL.OVFIM,就产生一个中断请求。
(2)模模式:计数器从0x0000开始,在每个活动时钟边沿增加1,当计数器达到T1CC0寄存器设定的值时溢出,计数器又将从0x0000开始新一轮的递增计数, 模模式的计数可以用于周期不是 0xFF 的应用程序 。当发生溢出时,设置标志 TIMIF.TxOVFIF 。如果设置了相应的中断屏蔽位 TxCTL.OVFIM,就产生一个中断请求。
(3) 倒计数模式:在倒计数模式,定时器启动之后,计数器载入 Tx