GPIO — 控制I/O引脚

class GPIO(...)

使用示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# coding=utf-8
# This is a sample Python script.
import utime
from driver import GPIO

print("start led test")
gpio = GPIO()
leds=("led_r", "led_g", "led_b")
for i in range(5):
    for led in leds:
        gpio.open(led)
        gpio.write(1)
        utime.sleep_ms(200)
        gpio.write(0)
        utime.sleep_ms(200)
        gpio.write(1)
        utime.sleep_ms(200)
        gpio.close()

print("end led test")

配置信息

board.jon 语法和功能的详细配置项信息请参考 BoardConfig — 硬件端口配置文件(board.json)详解

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
    "version": "1.0.0",
    "io": {
        "led_r": {
        "type": "GPIO",
        "port": 36,
        "dir": "output",
        "pull": "pullup"
        },
        "led_g": {
        "type": "GPIO",
        "port": 35,
        "dir": "output",
        "pull": "pullup"
        },
        "led_b": {
        "type": "GPIO",
        "port": 34,
        "dir": "output",
        "pull": "pullup"
        }
    },
    "debugLevel": "DEBUG"
}

函数接口


GPIO.open(node)[源代码]

打开实例

参数

node – node 定义在board.json 文件中

返回

0: 成功,其他: 失败

引发

OSError – EINVAL

GPIO.write(value)[源代码]

设置GPIO电平值,GPIO引脚为输出模式时可用

参数

value – 待写入的数据

返回

0: 成功,其他: 失败

引发

OSError – EINVAL

GPIO.read()[源代码]

读取GPIO电平值,输入模式和输出模式时均可用

参数

返回

0: 低电平,1:高电平 其他: 失败

引发

OSError – EINVAL

GPIO.on(trigger, handler)[源代码]

设置GPIO中断回调函数, handler为None的时候表示关闭中断

参数
  • trigger – 回调触发类型,支持 IRQ_FALLING,IRQ_RISING, IRQ_FALLING|IRQ_RISING,

  • callback – 回调函数

返回

0: 成功 其他: 失败

引发

OSError – EINVAL

GPIO.close()[源代码]

关闭实例

参数

返回

0: 成功,其他: 失败

引发

OSError – EINVAL