多语言展示
当前在线:1877今日阅读:86今日分享:14

stm32f030如何知道进入了stop模式

下面就是小编带给大家的stm32f030如何知道进入了stop模式方法操作,希望能够给你们带来一定的帮助,谢谢大家的观看。
方法/步骤
1

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

2

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

3

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

4

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

5

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

6

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

注意事项
1

以上就是小编带给大家的如何操作的关键所在,如果觉得本经验对你们有帮助,请给小编我进行一点小小的支持。大家也可以下面发表一下自己的看法。

2

个人意见,仅供参考。

推荐信息