CC2530|TI CC2530 学习笔记-6-NewBit-CC2530-Timer4-查询方式

TI CC2530 学习笔记-目录
【CC2530|TI CC2530 学习笔记-6-NewBit-CC2530-Timer4-查询方式】TI CC2530 学习笔记-6-NewBit-CC2530-Timer4-查询方式
通过CC2530定时器4来实现周期溢出,用此信号来控制LED灯,每秒改变状态一次。
CC2530的定时器4和定时器3只有定时器的名字不同,其他都是一样的。

  1. 配置定时器和LED
halMcuWaitUs(10000); //等待时间稳定,约10ms CLKCONCMD &= ~0x47; //选择外部32MHZ时钟, 不分频,TICKSPD不改变,保持为0x01,即定时器标记频率为16MHz while( (CLKCONSTA & 0x47) != 0x00 ); //切换时钟源后再次等待稳定 P0DIR |= 0x40; //配置IO为输出T4CTL = 0xE2; //128分频(0.125Mhz), 8us,模模式 T4CCTL0 = 0x04; //通道0比较模式 T4CC0 = 125; //溢出值,125*8us = 1000us = 1ms T4CTL |= 0x10; // 模,从0x00到T3CC0重复计数LED_R_IO = LED_R_ACTIVE; //点亮LED

  1. 在main函数的while循环里检测定时器溢出标志位
t_count = 0; while(1) { if (TIMIF & 0x10)//判断T4通道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 基础例程

    推荐阅读