OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5690|回复: 2

这两天被Stop mode和Standby mode 折腾晕了。。。

[复制链接]

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
发表于 2014-6-13 15:03:35 | 显示全部楼层 |阅读模式
5金钱
我想达到的效果是,通过按键1使MCU进入Standby mode。然后RTC ALARM 和wake up按键都能唤醒,但是wake up虽然能唤醒,RTC alarm总是唤醒不了!
[mw_shl_code=c,true]//RTCAlarm-Config

void RTC_Init(void) {      RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);    WR_BackupAccessCmd(ENABLE);    BKP_DeInit();    RCC_LSICmd(ENABLE);       while (RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET)    {    delay_ms(10);   }     RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI);       RCC_RTCCLKCmd(ENABLE);    RTC_WaitForSynchro();       RTC_WaitForLastTask();    RTC_ITConfig(RTC_IT_SEC, ENABLE);     RTC_WaitForLastTask();   RTC_SetPrescaler(40000);   RTC_WaitForLastTask();        RCC_ClearFlag();          Set_Alarm(10);  }

void RTCAlarm_Init (void) {     EXTI_InitTypeDef EXTI_InitStructure;       RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);    EXTI_InitStructure.EXTI_Line = EXTI_Line17;     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;        EXTI_InitStructure.EXTI_LineCmd = ENABLE;              

}

void Set_Alarm(u8 sec) {  RTCAlarm_Init();  RTC_WaitForSynchro();  RTC_ITConfig(RTC_IT_SEC,DISABLE);  RTC_ITConfig(RTC_IT_ALR,ENABLE);  RTC_WaitForSynchro();    RTC_SetAlarm(RTC_GetCounter() + sec);  RTC_WaitForLastTask(); }

[/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-6-13 15:05:58 | 显示全部楼层
[mw_shl_code=c,true]void RTC_IRQHandler(void) { if(RTC_GetITStatus(RTC_IT_ALR) != RESET) { RTC_ClearITPendingBit(RTC_IT_ALR); if(PWR_GetFlagStatus(PWR_FLAG_WU) != RESET) { PWR_ClearFlag(PWR_FLAG_WU); } // SystemInit(); //?????¤×÷ // delay_init(72); //???±?????? RTC_WaitForSynchro(); RTC_SetAlarm(RTC_GetCounter() + 10); RTC_WaitForSynchro(); //printf("RTC ALARM "); LED0 = !LED0; } }[/mw_shl_code]

回复

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-6-13 15:07:29 | 显示全部楼层
之前试了RTC alarm唤醒Stop mode成了,现在换Standby mode又不可以了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-7 05:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表