STM32省电模式(STM32F103 STM32F030F4)

  1. 三种模式
    Sleep,stop,standby,省电量由小到大

  2. Sleep模式
    在STM32F103中没有专用的外部库函数,而是直接利用了系统的底层库函数
    __WFI(); //进入SLEEP模式
    只是让CPU停止了,其他都在供电,尤其是寄存器
    任意中断,不论外部还是内容,及定时、串口,管脚输入,都可以退出此模式
    而在STM32F030中用专门的函数,PWR_EnterSleepMode(PWR_SLEEPEntry_WFI);
    //通过中断唤醒CPU
    省电量一般

  3. Stop模式
    有专门的函数,PWR_EnterSTOPMode(),
    可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O口之一、PVD的输出、RTC闹钟或USB的唤醒信号。
    这句话的意思是要想唤醒,必须把中断配置成exti中断,例如串口,本身有串口中断服务,但是不能唤醒,你需要把串口的输入引脚配置成exti中断才可以唤醒,tim定时器不具有外部中断功能,不能唤醒,而RTC很特殊,给了一个外部中断号,也可以唤醒,STM32官方的例子就是讲的RTC的例子,具体外部中断如下。
    这里写图片描述

个人觉的,这个功能很蛋疼,主要时定时唤醒问题,只能用RTC,没有的选了。
再者是这外部输入,例如串口,这个要想唤醒,需要进行管脚的增加配置,除去正常的串口配置外,还需要把输入引脚配置成exit中断,这样才能唤醒,增加了复杂性。
串口唤醒还有问题,串口是1跟线接收数据,结果数据有8到10位,高低电平变化,不断产生中断,这样就不是一次唤醒的问题了,没有调试通过,放弃此想法
4. Standby模式
不用考虑了,寄存器数据丢失了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值