初级会员

- 积分
- 79
- 金钱
- 79
- 注册时间
- 2012-6-29
- 在线时间
- 0 小时
|

楼主 |
发表于 2012-9-8 17:06:39
|
显示全部楼层
其次是程序如何一次进入工作模式,一次进入待机模式。我也是看了论坛里的帖子想明白的。
//PA0 WKUP唤醒初始化
void WKUP_Init(void)
{
RCC->APB2ENR|=1<<2; //先使能外设IO  ORTA时钟
RCC->APB2ENR|=1<<0; //开启辅助时钟
GPIOA->CRL&=0XFFFFFFF0;//PA0设置成输入
GPIOA->CRL|=0X00000008;
Ex_NVIC_Config(GPIO_A,0,RTIR);//PA0上升沿触发
//(检查是否是正常开机)
/*注释:一旦有wu信号则首先复位重启,进入此处,此处通过按键时间长短决定是否进入待机模式
(注意不是因中断进入此处)。所以按键不及3s皆待机*/
/*正常工作时则靠中断进入待机模式*/
if(Check_WKUP()==0)Sys_Standby(); //不是开机,进入待机模式
MY_NVIC_Init(2,2,EXTI0_IRQChannel,2);//抢占2,子优先级2,组2
}
|
|