按照手册上配置的睡眠模式
void sleep_mode(void)
{
*(u32*)0XE000ED10 &= ~(1<<2);//SLEEPDEEP=0
*(u32*)0XE000ED10 |= (1<<1);//SLEEPONEXIT=0;
 
WR->CR|=(1<<3);//CSBF
 
WR->CR|=(1<<2);//CWUF
 
WR->CR&=~(1<<1);//PDDS
 
WR->CR&=~(1<<0);//LPDS
WFI_SET();
}
但是串口中断不能唤醒,其他帖子上说是WFI_SET的问题,不知道怎么处理好?请教各位前辈~
---------------------------------
哦,终于知道了。配置是对的,不过唤醒后相当于复位,又从新执行slep_mode();
在main里面加了个判断,再执行sleep_mode();就可以了~
呵呵~
一周热门 更多>