版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21352095/article/details/83047423
功能描述:CC2530睡眠定时器可以在PM2下面运行,不可以在PM3下面运行。ST每秒将CPU唤醒一次,进入ACTIVE模式后,改变灯的状态然后重新设置下次唤醒的时间(1秒后),随后进入休眠。
- main函数
void main( void )
{
halMcuWaitUs(10000); //等待默认的内部晶振稳定
CLKCONCMD &= ~0x80; //选择32K晶振
while (CLKCONSTA & 0x80);
P0DIR |= 0x40;//P06输出
LED_R_ON();
STIE = 1; //睡眠定时器中断使能
EA = 1;//开总中断
while(1)
{
LED_R_TOG();//翻转LED
halSetSleepTimerInterval(1);//设置睡眠时间1s
HAL_ENTER_PM2();//进入PM2
}
}
- 睡眠定时器中断服务程序
#pragma vector = ST_VECTOR
__interrupt void ST_ISR(void)
{
STIF = 0;//清除标志
}