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系统设备管理器空白怎么办
  • 热门搜索
    plane怎么读 岑参怎么读 定活两便利息怎么算 枸杞怎么吃最好 四物汤怎么做 下标怎么打 月经颜色发黑是怎么回事 康乃馨怎么做 孙策怎么死的 怎么撸