K210
文章目录
前言
之前学K210也只是学习了K210的目标检查,并没有将这块开发板进行系统的学习,学第一个开发板就要从点灯开始啊
一、原理图
pyAI-K210 上总共有 3 个 LED,位于 2 个按键中间,三色一体 LED。分别是LED_B(蓝色)、LED_G(红色)、LED_R(红色)。
K210 为外部 IO 和内部 IO,其片上外设(比如 GPIO、I2C 等)对应的引脚是可以任意设置的,而传统大部分 MCU 片上外设和引脚对应关系已经固定了, 只有部分引脚可以复用, 相比之下 K210 自由度更大。
二、相关函数
编程使用 GPIO 的时候需要注册一下硬件 IO 和 K210 内部 IO 的对应关系。注册方式使用 fpioa_manager:简称 fm
1.fm.register(pin,function,force=False)
#将将LED外部IO注册到内部GPIO,K210引脚支持任意配置
fm.register(12, fm.fpioa.GPIO0)
fm.register(13, fm.fpioa.GPIO1)
fm.register(14, fm.fpioa.GPIO2)
2.GPIO(ID,MODE,PULL,VALUE)
#构建LED对象,并初始化输出高电平,关闭LED
LED_B = GPIO(GPIO.GPIO0, GPIO.OUT,value=1)
LED_G = GPIO(GPIO.GPIO1, GPIO.OUT,value=1)
LED_R = GPIO(GPIO.GPIO2, GPIO.OUT,value=1)
三、实验代码
from Maix import GPIO
from fpioa_manager import fm
#将蓝灯引脚 IO12 配置到 GPIO0,K210 引脚支持任意配置
fm.register(12, fm.fpioa.GPIO0,force=True)
LED_B = GPIO(GPIO.GPIO0, GPIO.OUT) #构建 LED 对象
LED_B.value(0) #点亮LED
然后实现他的流水灯,这里还有一个函数utime是在python中延迟用的
from Maix import GPIO
from fpioa_manager import fm
import utime
#将将LED外部IO注册到内部GPIO,K210引脚支持任意配置
fm.register(12, fm.fpioa.GPIO0)
fm.register(13, fm.fpioa.GPIO1)
fm.register(14, fm.fpioa.GPIO2)
#构建LED对象,并初始化输出高电平,关闭LED
LED_B = GPIO(GPIO.GPIO0, GPIO.OUT,value=1)
LED_G = GPIO(GPIO.GPIO1, GPIO.OUT,value=1)
LED_R = GPIO(GPIO.GPIO2, GPIO.OUT,value=1)
#定义数组方便循环语句调用
LED=[LED_B, LED_G, LED_R]
while True:
for i in range(0,3):
LED[i].value(0) #点亮LED
utime.sleep(1)
LED[i].value(1) #关闭LED
四、按键
按键和灯其实是一样的,就不一一介绍了,先看原理图
设置模式的时候设置输入就可以了
KEY = GPIO(GPIO.GPIO1, GPIO.IN)
from Maix import GPIO
from fpioa_manager import fm
#注册IO,蓝灯-->IO12,KEY-->IO16
fm.register(12, fm.fpioa.GPIO0)
fm.register(16, fm.fpioa.GPIO1)
#初始化IO
LED_B = GPIO(GPIO.GPIO0, GPIO.OUT)
KEY = GPIO(GPIO.GPIO1, GPIO.IN)
while True:
if KEY.value()==0: #按键被按下接地
LED_B.value(0) #点亮LED_B,蓝灯
else:
LED_B.value(1) #熄灭LED
总结
GPIO 是非常通用的功能,学会了 GPIO,就可以把开发板所有的引脚为自己所用,灵活性很强。