MicroPython ESP32 GPIO引脚输入输出示例

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MicroPython ESP32 GPIO引脚输入输出示例相关的知识,希望对你有一定的参考价值。

MicroPython ESP32 GPIO引脚输入输出示例


  • 在线仿真演示gpio作为外部输入中断

GPIO引脚输入输出状态设置属于machine模块中的类

from machine import Pin #引入引脚模块,才可以控制esp32引脚

GPIO相关的功能函数以及参数

>>> from machine import Pin
>>> help(Pin)
object <class 'Pin'> is of type type
  init -- <function>
  value -- <function>
  off -- <function>
  on -- <function>
  irq -- <function>
  IN -- 1
  OUT -- 3
  OPEN_DRAIN -- 7
  PULL_UP -- 2
  PULL_DOWN -- 1
  IRQ_RISING -- 1
  IRQ_FALLING -- 2
  WAKE_LOW -- 4
  WAKE_HIGH -- 5
  DRIVE_0 -- 0
  DRIVE_1 -- 1
  DRIVE_2 -- 2
  DRIVE_3 -- 3

函数说明

  • Pin.on():设置引脚为高电平
  • Pin.off():设置引脚为低电平
  • Pin.value(0/1):设置引脚为高电平或者低电平
  • Pin.irq():中断函数设置
  • GPIO输入输出设置:
  IN -- 1
  OUT -- 3
  • GPIO引脚输入输出模式:
  OPEN_DRAIN -- 7
  PULL_UP -- 2
  PULL_DOWN -- 1

  • GPIO作为中断引脚时设置的触发方式:
  IRQ_RISING -- 1
  IRQ_FALLING -- 2
   WAKE_LOW -- 4
  WAKE_HIGH -- 5

GPIO引脚作为外部输入中断引脚示例代码

from machine import Pin

def callback(p):
    mypin.value(mypin.value() ^ 1)  # 状态取反

btn = Pin(22, Pin.IN, Pin.PULL_UP) # 作为外部中断输入信号引脚
mypin = Pin(2, Pin.OUT)  # 作为发生中断时,响应的状态指示灯
btn.irq(trigger=Pin.IRQ_FALLING, handler=callback) # 设置中断,中断触发方式、回调函数

print("Hello, ESP32!")
while True:
    pass
  • 在线仿真地址:https://wokwi.com/projects/339885688536171090

以上是关于MicroPython ESP32 GPIO引脚输入输出示例的主要内容,如果未能解决你的问题,请参考以下文章

11. ESP32 Micropython编程(Thonny)UART串口通讯

Micropython esp32/8266AP模式下网页点灯控制示例+自定义GPIO状态显示

Micropython esp32/8266AP模式下自定义GPIO状态显示+主动按键控制

Micropython 8266AP模式下通过HTTP网页获取GPIO引脚状态

MicroPython ESP32 触摸传感器使用示例

esp32cam板载led是那个引脚