class WakeUp - 唤醒中断
2024-01-02
EC600/EC800E系列的普通GPIO不支持双边沿触发中断,且不支持休眠下中断唤醒。WakeUp则没有上下拉的限制,默认支持双边沿触发中断以及在休眠状态下唤醒模组。使用方法如下:
构造函数
class pm.WakeUp(WakeupID, pull)
参数说明:
WakeupID
- 需要控制的wakeup号,说明如下:
EC800E:WAKEUP2
- 引脚号79WAKEUP3
- 引脚号109(EC800ECN_LE&LQ&LC不可用)WAKEUP4
- 引脚号108(EC800ECN_LE&LQ&LC不可用)WAKEUP5
- 引脚号19EC600E:
WAKEUP2
- 引脚号9WAKEUP3
- 引脚号51WAKEUP4
- 引脚号50WAKEUP5
- 引脚号39pull
- 上下拉模式,int类型,说明如下:PULL_DISABLE
– 浮空模式0PULL_PU
– 上拉模式1PULL_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
:高电平。
- level:
模组 | WakeUp对应引脚说明 |
---|---|
EC800E | WAKEUP2 - 引脚号79WAKEUP3 - 引脚号109(EC800ECN_LE&LQ&LC不可用)WAKEUP4 - 引脚号108(EC800ECN_LE&LQ&LC不可用)WAKEUP5 - 引脚号19 |
EC600E | WAKEUP2 - 引脚号9WAKEUP3 - 引脚号51WAKEUP4 - 引脚号50WAKEUP5 - 引脚号39 |