进阶讨论Zigbee之外设定时器

Timer

2530有5个定时器
16位定时器有 :timer1
8位定时器有:Timer3,Timer4
一个休眠定时器,一个MAC定时器

我们着重讲Timer1,其余大同小异

定时器1由5个独立的捕获(秒表)/比较(闹钟)通道。

上升沿、下降沿,或者任何边沿的输入捕获。

置位、清零、或者反转匹配。

在捕获/比较和最终计数上生成中断请求。
具有DMA触发功能。

定时器1是一个16位的定时器,由T1CTL.DIV设置的分频器值进一步划分,这个分频值可以为1、8、32或128。因此当32MHz晶振用作系统时钟源时,定时器1可以使用最低时钟频率是1953.125Hz,最高是32MHz。

T1CTL


进阶讨论Zigbee之外设定时器_第1张图片

定时器的数值读取的时候必须先读取T1CNTL 在读取H,防止读数不准确。


T1STAT


进阶讨论Zigbee之外设定时器_第2张图片


T1CCTL0

进阶讨论Zigbee之外设定时器_第3张图片

代码:

//这里是?Timer3


void timer3init()
{ 
   P1SEL|=0x08;    
   PERCFG&=~(1<<5);  //备用位置1
   P2SEL|=(1<<5);   //定时器3优先

 //  T3CCTL0=~(1<<2);
   T3CTL |= 0xE0;         //标记频率/128  8us*256 溢出一次
   T3CTL |= 0x04;         //清除计数器
   T3CTL |= 0x10;         //启动定时器T3

  // T3CCTL1 |= 0x40;     //T2的通道1中断使
   T3CTL |= 0x08;         //溢出中断使
   IEN1 |= 0x08;            //T3中断使能
   IEN0 |= 0x80;      //使能所有中断 

}

你可能感兴趣的:(CC2530)