打印
[其他ST产品]

standby 模式

[复制链接]
1045|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Liu01551108|  楼主 | 2020-1-16 10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F103 的低功耗模式中的STANDBY 是耗电量最低的, 进入后MCU的功耗在 微安级。考虑 进入的方法时必须想到是以何种方式唤醒。网上的例子很多,但大多是用PA0 上的长达3秒的按键来进入STANDBY, 再次长达3秒的按键来退出STANDBY。 实际测试发现如果只用WKUP(PA0)的上升沿来退出STANDBY, 则 无需配置PA0外部中断. PA0 上升沿会直接唤醒MCU.

使用特权

评论回复
沙发
RunningX| | 2020-1-16 10:45 | 只看该作者
可以贴上两种方式的代码看一下吗?

使用特权

评论回复
板凳
Liu01551108|  楼主 | 2020-1-17 10:52 | 只看该作者
void WKUP_Init(void)  //initial PA0
{       
    GPIO_InitTypeDef  GPIO_InitStructure;                    
        NVIC_InitTypeDef NVIC_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);
        GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0;
        GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPD;//pull down
        GPIO_Init(GPIOA, &GPIO_InitStructure);
           
}

在主函数main 的loop里执行
void Sys_Standby(void)
{
        NVIC_SystemLPConfig(NVIC_LP_SLEEPDEEP,ENABLE);          
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);          
        PWR_WakeUpPinCmd(ENABLE);  
        RCC_APB2PeriphResetCmd(0X01FC,DISABLE);
        PWR_EnterSTANDBYMode();                  
}

测试时主函数里执行到Sys_Standby(),就进入待机状态。PA0 的上升沿就唤醒。不过待机时测量整个电路板电流时还有4mA的电流,这个应该是其他外设引起的。

使用特权

评论回复
地板
wakayi| | 2020-2-5 08:24 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
5
wowu| | 2020-2-5 08:39 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
6
xiaoqizi| | 2020-2-5 08:45 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
7
木木guainv| | 2020-2-5 08:47 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
8
磨砂| | 2020-2-5 09:08 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
晓伍| | 2020-2-5 09:12 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
10
八层楼| | 2020-2-5 09:16 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
11
观海| | 2020-2-5 10:00 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
12
guanjiaer| | 2020-2-5 10:07 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
13
heimaojingzhang| | 2020-2-5 10:11 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
14
keaibukelian| | 2020-2-5 10:25 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

13

帖子

0

粉丝