物联网AI MicroPython学习之语法 GPIO输入输出模块

学物联网,来万物简单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: 输出低电平 无参数时 返回当前引脚状态
  • 返回值:
  • 示例代码
python 复制代码
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 中断事件产生的回调处理函数
  • 返回值:
  • 示例代码
python 复制代码
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
相关推荐
风酥糖14 小时前
Godot游戏练习01-第34节-开始引入AI开发
人工智能·游戏·godot
闵孚龙14 小时前
Claude Code Prompt Cache 缓存中断检测系统全解析:AI Agent 上下文工程、可观测性、成本优化与性能治理
人工智能·缓存·prompt
幻奏岚音14 小时前
AI时代生产力变革与高效使用
大数据·人工智能·深度学习
hahdbk14 小时前
口碑好的医疗设备外观设计选哪家
大数据·人工智能·python
C+++Python14 小时前
如何使用OpenCV进行颜色与阈值处理?
人工智能·opencv·计算机视觉
沪漂阿龙14 小时前
面试题:PEFT 参数高效微调详解——什么是 PEFT、为什么需要 PEFT、LoRA/QLoRA/Adapter 原理与优缺点全解析
人工智能·深度学习
团象科技14 小时前
别盲目布局全球化,先理清海外云服务器能覆盖的业务边界
大数据·服务器·人工智能
lbb 小魔仙14 小时前
工业数据困局的破局者:DolphinDB 如何让海量时序数据真正“跑“出价值
开发语言·人工智能·python·langchain
步步为营DotNet14 小时前
解锁.NET 11 新能:C# 14 在客户端安全编程的革新与实践
人工智能·microsoft·.net
nix.gnehc14 小时前
Langfuse v3 Docker 部署
运维·人工智能·docker·容器·langfuse