物联网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
相关推荐
倔强的石头1062 分钟前
ChatGLM系列解析_清华智谱大模型技术路线
人工智能·大模型
龙亘川7 分钟前
数智驱动民政升级 精准守护民生保障
大数据·数据库·人工智能
IanSkunk25 分钟前
长葛儿童近视防控的一个真问题:机构能做与不能做的边界,从建档到转诊的流程拆解
人工智能
~kiss~27 分钟前
LangChain 基础学习
学习·langchain
码云之上29 分钟前
把网页变成可引用知识——Chatbot 联网工具
人工智能·架构·agent
一木 之林36 分钟前
提示词工程学习总结:用 Few-shot 把大模型调教成金融文本分类、抽取与匹配的自动化流水线
人工智能·学习·计算机视觉·金融·分类
付威20231 小时前
【pi-rust源码拆解】Agent 源码看不懂?先跟着一条消息走一遍--万字长文
人工智能
老马识码1 小时前
复杂架构的取舍:Agentic RAG、LLM Wiki 与 Multi-Agent
人工智能
Maynor9961 小时前
让 AI 编程助手学会做视频、做 PPT:Agent Skills 入门与安装全指南
人工智能·aigc·ai编程·效率工具·cursor·claude code
C++ 老炮儿的技术栈1 小时前
sizeof操作符
c语言·c++·人工智能·mfc·c