通过PA0唤醒pyboard

STM32系列
pyboard相关
回复
头像
shaoziyang
帖子: 2385
注册时间: 2019年 10月 21日 13:48

通过PA0唤醒pyboard

#1

帖子 shaoziyang » 2019年 12月 6日 16:25

在低功耗应用中,为了降低功耗,我们需要让单片机休眠,然后通过外部按键或者RTC唤醒。但是直到v1.11版中,micropython中仍没有提供直接休眠后通过PA0唤醒功能。不过我们可以通过寄存器方法去设置,使用并不复杂。

通过PA0唤醒,也就是WKUP pin功能,需要将PWR_CSR寄存器的EWUP设置为1,就可以通过PA0引脚上的上升沿信号将pyb唤醒。

方法如下:
隐藏内容
你必须登入/注册才可观看隐藏内容

注:
  • 对于STM32L4系列,支持的WKUP pin更多,还支持上升沿或下降沿唤醒,唤醒使用的寄存器也不同,但是方法类似。

头像
shaoziyang
帖子: 2385
注册时间: 2019年 10月 21日 13:48

Re: 通过PA0唤醒pyboard

#2

帖子 shaoziyang » 2019年 12月 6日 16:31

因为machine.deepsleep()后唤醒相当于复位,所以需要先通过machine.reset_cause()判断复位原因,然后进行不同处理。

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章