开发板上自带的3个led灯接线如图。
点亮led灯主要使用两个模块,如下:
fm.register(pin,function,force=False)
【pin】芯片外部 IO
【function】芯片功能
【force】=True 则强制注册,清除之前的注册记录
例:fm.register(12, fm.fpioa.GPIO0,force=True)
表示将外部 IO12 注册到内部 GPIO0
GPIO(ID,MODE,PULL,VALUE)
GPIO 对象
【ID】内部 GPIO 编号;
【MODE】GPIO 模式;
GPIO.IN :输入模式
GPIO.OUT :输出模式
【PULL】
GPIO.PULL_UP :上拉
GPIO.PULL_DOWN :下拉
GPIO.PULL_NONE :无
【value】GPIO 初始化电平
1:高电平
0:低电平
还有就是创建了led对象后的使用方法:
使用方法:
GPIO.value([value])
【value】GPIO 输出电平值;
1:高电平
0:低电平
*输入模式时候参数为空,表示获取当前 IO 输入电平值。
下面就是循环点亮蓝灯,绿灯,红灯的程序了。本程序比较简单,也实际测试了,没有问题,可以直接拷贝运行。
from Maix import GPIO as gpio # 导入maix中的GPIO取名为gpio
from fpioa_manager import fm # 导入fpioa_manager中的fm注册小模块
import utime as t # 导入时间模块命名为t
fm.register(12, fm.fpioa.GPIO0, force = True) # 注册外部12口到内部gpio0
fm.register(13, fm.fpioa.GPIO1, force = True) # 注册外部13口到内部gpio1
fm.register(14, fm.fpioa.GPIO2, force = True) # 注册外部14口到内部gpio2
led_b = gpio(gpio.GPIO0, gpio.OUT) # 蓝灯为(内部gpio0口,输出模式)
led_g = gpio(gpio.GPIO1, gpio.OUT) # 绿灯为(内部gpio1口,输出模式)
led_r = gpio(gpio.GPIO2, gpio.OUT) # 红灯为(内部gpio2口,输出模式)
while(1):
led_b.value(0) # 蓝灯的值为0(点亮)
t.sleep(1) # 延时1秒
led_b.value(1) # 蓝灯的值为1(熄灭)
t.sleep(1) # 延时1秒
led_g.value(0) # 绿灯的值为0(点亮)
t.sleep(1) # 延时1秒
led_g.value(1) # 绿灯的值为0(熄灭)
t.sleep(1) # 延时1秒
led_r.value(0) # 红灯的值为0(点亮)
t.sleep(1) # 延时1秒
led_r.value(1) # 红灯的值为0(熄灭)
t.sleep(1) # 延时1秒
看到这里如果本人写的什么地方不对,希望您能够直接指出。在此多谢各位了!如果认为还可以的话,希望您给个免费的赞或是转发给更多需要的人。谢谢!