class WakeUp - 唤醒中断

EC600/EC800E系列的普通GPIO不支持双边沿触发中断,且不支持休眠下中断唤醒。WakeUp则没有上下拉的限制,默认支持双边沿触发中断以及在休眠状态下唤醒模组。使用方法如下:

构造函数

class pm.WakeUp(WakeupID, pull)

参数说明:

  • WakeupID - 需要控制的wakeup号,说明如下:
    EC800E:
    WAKEUP2 - 引脚号79
    WAKEUP3 - 引脚号109(EC800ECN_LE&LQ&LC不可用)
    WAKEUP4 - 引脚号108(EC800ECN_LE&LQ&LC不可用)
    WAKEUP5 - 引脚号19

    EC600E:
    WAKEUP2 - 引脚号9
    WAKEUP3 - 引脚号51
    WAKEUP4 - 引脚号50
    WAKEUP5 - 引脚号39

  • pull - 上下拉模式,int类型,说明如下:
    PULL_DISABLE– 浮空模式0
    PULL_PU – 上拉模式1
    PULL_PD – 下拉模式2

示例:

from pm import WakeUp
def fun(level):
    print(str(level))

wake=WakeUp(WakeUp.WAKEUP5,WakeUp.PULL_PD)
wake.set_callback(fun)# 设置回调,回调仅返回电平
wake.enable()# 使能中断

wake.read() #读引脚电平

方法

wake.enable

wake.enable()

该方法用于使能唤醒中断,当WakeUp引脚检测到上升沿或者下降沿时,会调用callback执行。

返回值:

成功返回整型值0,失败返回整型值-1

wake.disable

wake.disable()

该方法用于关闭中断,禁用与WakeUp对象关联的中断 。

返回值:

成功返回整型值0,失败返回整型值-1

wake.read

wake.read()

该方法用于读取当前引脚电平。

返回值:

返回引脚电平,0表示获取到的引脚电平为低,1 表示获取到的引脚电平为高。

wake.deinit

wake.deinit()

关闭WakeUp功能。

返回值:

成功返回整型值0,失败返回整型值-1

wake.set_callback

wake.set_callback(fun)

该方法用于设置回调,触发中断后,会执行该回调,回调返回电平。

参数描述:

  • fun - 回调函数,回调函数原型:

    fun(level)
    

    回调函数参数描述:

    • level:0:低电平,1:高电平。
模组 WakeUp对应引脚说明
EC800E WAKEUP2 - 引脚号79
WAKEUP3 - 引脚号109(EC800ECN_LE&LQ&LC不可用)
WAKEUP4 - 引脚号108(EC800ECN_LE&LQ&LC不可用)
WAKEUP5 - 引脚号19
EC600E WAKEUP2 - 引脚号9
WAKEUP3 - 引脚号51
WAKEUP4 - 引脚号50
WAKEUP5 - 引脚号39