from fpioa_manager import fm
from Maix import GPIO
import time
led_r = 12
led_g = 13
led_b = 14
fm.register(led_r, fm.fpioa.GPIO0)
fm.register(led_g, fm.fpioa.GPIO1)
fm.register(led_b, fm.fpioa.GPIO2)
led_r=GPIO(GPIO.GPIO0, GPIO.OUT)
led_g=GPIO(GPIO.GPIO1, GPIO.OUT)
led_b=GPIO(GPIO.GPIO2, GPIO.OUT)
while True:
led_r.value(0)
led_g.value(1)
led_b.value(1)
time.sleep_ms(1000)
led_g.value(0)
led_r.value(1)
led_b.value(1)
time.sleep_ms(1000)
led_b.value(0)
led_g.value(1)
led_r.value(1)
time.sleep_ms(1000)
效果展示:
1.导入内置的库文件,fgpio_manager,Maix,time
from fpioa_manager import fm
from Maix import GPIO
import time
2.RGB引脚定义
led_r = 12
led_g = 13
led_b = 14
3.引脚映射
fm.register(led_r, fm.fpioa.GPIO0)
fm.register(led_g, fm.fpioa.GPIO1)
fm.register(led_b, fm.fpioa.GPIO2)
register(pin, func, force=True)#
pin
: 功能映射引脚function
: 芯片功能force
: 强制分配,如果为True
,则可以多次对同一个引脚注册;False
则不允许同一引脚多次注册。默认为True
是为了方便IDE
多次运行程序使用
设置引脚(pin)对应的外设功能(func),默认启用强制绑定参数(force=True),它将强制更换指定的引脚功能,如果发现存在上一个绑定的引脚,则会发出一个警告,但不影响代码继续执行。
如果设置 force=False ,则会在 register 发现硬件功能已经被使用了,此时就会弹出异常,方便深度开发的时候不清楚 GPIO/HS 的分配情况,常见于运行某个代码的按键在访问某些功能的时候不能使用了的场合。
4.指定参数,创建对象
led_r=GPIO(GPIO.GPIO0, GPIO.OUT)
led_g=GPIO(GPIO.GPIO1, GPIO.OUT)
led_b=GPIO(GPIO.GPIO2, GPIO.OUT)
class GPIO(ID, MODE, PULL, VALUE)
参数
-
ID
: 使用的 GPIO 引脚(一定要使用 GPIO 里带的常量来指定) -
MODE
: GPIO模式• GPIO.IN就是输入模式
• GPIO.OUT就是输出模式
-
PULL
: GPIO上下拉模式• GPIO.PULL_UP 上拉
• GPIO.PULL_DOWN 下拉
• GPIO.PULL_NONE 即不上拉也不下拉
5.参数赋值
led_r.value(0)
GPIO.value([value])
修改/读取 GPIO 引脚状态
参数
[value]
: 可选参数,如果此参数不为空,则返回当前 GPIO 引脚状态
返回值
如果 [value]
参数不为空,则返回当前 GPIO 引脚状态