stm32f030如何知道进入了stop模式

 时间:2024-11-03 05:20:38

1、一般我们做开发大多都是选择停机模式,因为停机模式功耗较低。而且任一中断或事件都能唤醒,待机模式虽然功耗最低,也就差10个微安,但是只有特定的唤醒脚可以唤醒,实时性不是很好。

stm32f030如何知道进入了stop模式

2、我们用停机模式也能降到10几个uA,实时性又好,干嘛不用呢。 要怎么做才能把停机模式功耗进一步降低呢。

stm32f030如何知道进入了stop模式

3、局限性:用内部时钟LSI,大小固定导致Wakeup Time Base 被限制。 Wakeup Time(最大)=0.41ms*65535(0xffff)=26.869s,可能达不到休眠时间要求。

stm32f030如何知道进入了stop模式

4、另一种方法:改HAL_RTCEx_SetWakeUpTimer_IT(&RTCHandle, 2, RTC_WAKEUPCLOCK_CK_SPRE_16BITS);

stm32f030如何知道进入了stop模式

5、这里RTC_WAKEUPCLOCK_CK_SPRE_16BITS是设置CR寄存器中的低三位,唤醒时钟选择,这里选择1hz,2表示工作2S后进入唤醒中断,这个数随便改,改成多少就是休眠多少时间。

stm32f030如何知道进入了stop模式

6、串口中断唤醒唤醒机制:在MCU进入STOP状态后,不能直接通过UART等外设唤醒,在MCU进入STOP前将RX脚设为EXTI模式,并使能对应的中断。唤醒后重新初始化串口、配置时钟。

stm32f030如何知道进入了stop模式
  • WIN10 简单自动关机命令
  • 在 VMware 中安装 CentOS 7.5 虚拟机
  • 如何清除R浏览器的缓存文件?
  • win10显示文件后缀
  • win10系统设备管理器空白怎么办
  • 热门搜索
    扇形面积怎么算 手机内存怎么清理 上传视频怎么赚钱 双手发麻是怎么回事 太平人寿怎么样 微商代理怎么找货源 薰衣草精油怎么用 华安保险怎么样 宝骏730怎么样 房产遗嘱怎么写