社区导航

 

搜索
查看: 234|回复: 4

[原创] 通过PA0唤醒pyboard

[复制链接]

9593

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2019-12-6 16:29 | 显示全部楼层 |阅读模式

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

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

方法如下

 

游客,如果您要查看本帖隐藏内容请回复


此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处



回复

使用道具 举报

9593

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

 楼主| 发表于 2019-12-6 16:40 | 显示全部楼层

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



回复

使用道具 举报

9593

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

 楼主| 发表于 2019-12-8 17:16 | 显示全部楼层

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



回复

使用道具 举报

8

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-12-15 13:15 | 显示全部楼层

支持支持



回复

使用道具 举报

2

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-12-16 13:11 | 显示全部楼层

学习下



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-1-24 01:08 , Processed in 0.172049 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表