5895|1

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

STM32F407停机模式下不能通过外部中断唤醒 [复制链接]

我用的是2个按键PA0和PC13,先把这两个挂在各自的中断线上,然后通过PA0进入停机模式,按理说按下PC13就会唤醒,但是实际操作中不管怎么按都没有反应,不知道是函数的问题还是硬件的问题。。

2个中断都可以进入中断函数里面,现在的问题就是不能唤醒。。
下面带上停机模式的函数:
void Sys_Enter_Standby(void)
{               
  while(WK_UP==0);                        //等待WK_UP按键松开(在有RTC中断时,必须等WK_UP松开再进入待机)
        printf("停机");
  delay_ms(50);
        RCC_AHB1PeriphResetCmd(0X04FF,ENABLE);//复位所有IO口
       
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//使能PWR时钟                 
         
//        PWR_BackupAccessCmd(ENABLE);//后备区域访问使能

        RTC_ITConfig(RTC_IT_TS|RTC_IT_WUT|RTC_IT_ALRB|RTC_IT_ALRA,DISABLE);//关闭RTC相关中断,可能在RTC实验打开了。
        RTC_ClearITPendingBit(RTC_IT_TS|RTC_IT_WUT|RTC_IT_ALRB|RTC_IT_ALRA);//清楚RTC相关中断标志位。

        EXTI_ClearITPendingBit(EXTI_Line0);
        EXTI_ClearITPendingBit(EXTI_Line13);
        EXTI_ClearITPendingBit(EXTI_Line2);       
       
//        PWR_ClearFlag(PWR_FLAG_WU);//清除Wake-up 标志
//       
//        PWR_WakeUpPinCmd(ENABLE);//设置WKUP用于唤醒
       
//        PWR_EnterSTANDBYMode();        //进入待机模式
       
        PWR_EnterSTOPMode(PWR_Regulator_ON,PWR_STOPEntry_WFI);
       
        SystemInit();        
         
}

此帖出自stm32/stm8论坛

最新回复

不知道是函数的问题还是硬件的问题,可以写个读按键的函数,试试能否得到正确状态。  详情 回复 发表于 2018-3-5 17:53
点赞 关注
 

回复
举报

3471

帖子

11

TA的资源

五彩晶圆(高级)

沙发
 
不知道是函数的问题还是硬件的问题,可以写个读按键的函数,试试能否得到正确状态。
此帖出自stm32/stm8论坛
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表