OpenEdv-开源电子网

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

求解答,感谢各位 ,第43讲待机唤醒问题……

[复制链接]

13

主题

57

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2016-5-26
在线时间
108 小时
发表于 2020-6-8 15:31:03 | 显示全部楼层 |阅读模式
50金钱
本帖最后由 dianzixiaobai 于 2020-6-8 15:35 编辑

如图主程序一系列初使化
   AAAAAAAAAA.png

WKUP_Init()
{
    初使化wk_up的IO口,EXTI 和 NVIC;
 if(Check_WKUP()==0) Sys_Standby(); //这里可见 单片机上电 初使化的 时候直接进入 standby模式。因为按键没有按下,不为高。
}


我们在pa0的外部中断函数里    wk_up,长按  三秒关机  进入 standby模式
void EXTI0_IRQHandler(void)
{                                                                                                  
        EXTI_ClearITPendingBit(EXTI_Line0); // 清除LINE10上的中断标志位                  
        if(Check_WKUP())//关机?
        {                  
                Sys_Enter_Standby();  
        }
}


问题1:为什么 原子的程序可以做到  长按三秒开机,即长按三秒,退出standby模式?
仔细看了程序中,找不到对应 的  三秒开机  的部分,wu_up按下等三秒再退出standby模式
,因为 手册 上说,wk_up为高就直接立刻马上  退出 standby模式。不太明白 原子这里是怎么实现的。


下图三秒进入 standby模式,wk_up为高 立刻进入正常模式
bbbbbbbbbbb.png






最佳答案

查看完整内容[请看2#楼]

奥妙就在WKUP_Init初始化那里 因为这个低功耗模式唤醒是要复位的。走到WKUP_Init最后会判断按键是不是三秒。 看看图就知道了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

269

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1053
金钱
1053
注册时间
2020-5-11
在线时间
253 小时
发表于 2020-6-8 15:31:04 | 显示全部楼层
奥妙就在WKUP_Init初始化那里   因为这个低功耗模式唤醒是要复位的。走到WKUP_Init最后会判断按键是不是三秒。  看看图就知道了
1591604017(1).jpg
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 12:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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