TI CC2530 学习笔记-5-NewBit-CC2530-Timer3-查询方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21352095/article/details/83036588

TI CC2530 学习笔记-目录

TI CC2530 学习笔记-5-NewBit-CC2530-Timer3-查询方式

通过CC2530定时器3来实现周期溢出,用此信号来控制LED灯,每秒改变状态一次。

  1. 配置定时器和LED
  halMcuWaitUs(10000);  //等待时间稳定,约10ms
  CLKCONCMD &= ~0x47;   //选择外部32MHZ时钟, 不分频,TICKSPD不改变,保持为0x01,即定时器标记频率为16MHz
  while( (CLKCONSTA & 0x47) != 0x00 ); //切换时钟源后再次等待稳定
  P0DIR |= 0x40;  //配置IO为输出

  T3CTL = 0xE2;   //128分频(0.125Mhz), 8us,模模式
  T3CCTL0 = 0x04; //通道0比较模式
  T3CC0 = 125;    //溢出值,125*8us = 1000us = 1ms
  T3CTL |= 0x10;// 模,从0x00到T3CC0重复计数

  LED_R_IO = LED_R_ACTIVE;//点亮LED
  1. 在main函数的while循环里检测定时器溢出标志位
  t_count = 0;
   while(1)
  {
    if (TIMIF & 0x02)//判断T3通道0溢出中断标志
    {
      TIMIF = 0;//清除中断标志
      t_count ++;
      if (t_count >= 1000)   //每1000次溢出所耗时间约1秒
      {
        t_count = 0;
        LED_R_IO = !LED_R_IO;//翻转LED
      }
    }
  }
  1. 代码:NewBit-ZDK CC2530 基础例程

猜你喜欢

转载自blog.csdn.net/qq_21352095/article/details/83036588
今日推荐