学物联网,来万物简单IoT物联网!!
GPIO 介绍
- 模块功能:
GPIO通用输入输出。
接口说明
GPIO - 构建GPIO对象
- 函数原型:Pin(port, dir , pull)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
port | int | Y | 对应开发板的引脚号 |
dir | enum | N | 配置输入:Pin.IN 配置输出:Pin.OUT |
pull | enum | N | 配置驱动模式。 输入模式下属性值: Pin.PULLUP\Pin.PULLDOWN 默认(字段空缺时)为PULLDOWN模式。 输出模式下可用属性值: Pin.PUSHPULL/Pin.OPENDRAIN 默认(字段空缺时)为PUSHPULL模式。 |
- 返回值:
构建的GPIO操作对象。
on - 输出高电平
- 函数原型:on()
- 参数说明:
无
- 返回值:
无
off - 输出低电平
- 函数原型:off()
- 参数说明:
无
- 返回值:
无
value - 电平信号操作
- 函数原型:value(value)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
value | bool | N | 有参数时 1: 输出高电平 0: 输出低电平 无参数时 返回当前引脚状态 |
- 返回值:
无 - 示例代码
from machine import Pin
p2 = Pin(2, Pin.OUT) # 创建对象p2,对应GPIO2口输出
p2.on() # 设置引脚为 "on" (1)高电平
p2.off() # 设置引脚为 "off" (0)低电平
p2.value(1) # 设置引脚为 "on" (1)高电平
p2 = Pin(2, Pin.IN) # 创建对象p2,对应GPIO2口输入
print(p2.value()) # 获取引脚输入值, 0(低电平) 或者 1(高电平)
irq - 输入中断配置
- 函数原型:irq(mode, callback)
- 参数说明:
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
mode | enum | Y | 下降沿触发:Pin.IRQ_FALLING 下降沿触发:Pin.IRQ_RISING 低电平触发:Pin.WAKE_LOW 高电平触发:Pin.WAKE_HIGH |
callback | function | N | 中断事件产生的回调处理函数 |
- 返回值:
无 - 示例代码
from machine import Pin
p2 = Pin(2, Pin.IN) # 创建对象p2,对应GPIO2口输入
def funcb(pin):
print('trigger',pin)
p2.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING,handler=funcb)
while True:
pass