引脚

Pin 类用于管理 GPIO 操作。下面是 Pin 类的详细支持说明:

MicroPython 应用示例:

 1# SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
 2#
 3# SPDX-License-Identifier: MIT
 4
 5import os, sys, io
 6import M5
 7from M5 import *
 8from hardware import *
 9import time
10
11
12title0 = None
13label0 = None
14label1 = None
15pin6 = None
16pin7 = None
17
18
19def setup():
20    global title0, label0, label1, pin6, pin7
21
22    M5.begin()
23    Widgets.fillScreen(0x222222)
24    title0 = Widgets.Title("Pin example", 3, 0xFFFFFF, 0x0000FF, Widgets.FONTS.DejaVu18)
25    label0 = Widgets.Label("Pin 6 State:", 1, 83, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
26    label1 = Widgets.Label("Pin 7 State:", 1, 132, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
27
28    pin6 = Pin(6, mode=Pin.OUT)
29    pin7 = Pin(7, mode=Pin.IN)
30
31
32def loop():
33    global title0, label0, label1, pin6, pin7
34    M5.update()
35    pin6.value(1)
36    label0.setText(str((str("Pin 6 State:") + str((pin6.value())))))
37    time.sleep(1)
38    pin6.value(0)
39    label0.setText(str((str("Pin 6 State:") + str((pin6.value())))))
40    time.sleep(1)
41    label1.setText(str((str("Pin 7 State:") + str((pin7.value())))))
42
43
44if __name__ == "__main__":
45    try:
46        setup()
47        while True:
48            loop()
49    except (Exception, KeyboardInterrupt) as e:
50        try:
51            from utility import print_error_msg
52
53            print_error_msg(e)
54        except ImportError:
55            print("please update to latest firmware")

UiFlow2 应用示例:

example.png

pin_cores3_example.m5f2

class Pin

构造函数

class Pin(id, mode=-1, pull=-1)

访问与给定 id 关联的引脚外设(GPIO 引脚)。

参数:
  • id (int) – 是必需的,并且可以是任意对象。

  • mode (int) – 指定引脚模式。

  • pull (int) – 指定引脚是否连接了(弱)上拉/下拉电阻。

UIFLOW2:

init.png

Methods

Pin.value([value])

设置引脚的值。

参数 value 可以是任何可转换为布尔值的内容。如果它转换为 True,则引脚被设置为状态 “1”;否则被设置为状态 “0”。

该方法的行为取决于引脚的模式:

  • Pin.IN - 该值会存储在引脚的输出缓冲区中。引脚状态不会改变,仍保持高阻态。一旦将其切换为 Pin.OUT 模式,存储的值将立即在该引脚上生效。

  • Pin.OUT - 输出缓冲区会立即被设置为给定的值。

UIFLOW2:

set_value.png

set_value1.png

get_value.png

Pin.off() None

将引脚设置为低电平。

UIFLOW2:

off.png

Pin.on() None

将引脚设置为高电平。

UIFLOW2:

on.png

Constants

Pin.IN

输入模式

Pin.OUT

输出模式

Pin.PULL_UP

上拉电阻

Pin.PULL_DOWN

下拉电阻