开发板:K210 AIRV R3版 widora
开发环境:MaixPy IDE 矽速家的
必须的参考网站:
https://cn.maixpy.sipeed.com/zh/api_reference/Maix/fpioa.html
https://cn.maixpy.sipeed.com/zh/api_reference/Maix/gpio.html
打开 Maixpy IDE,新建文件 名字为 _2key.py
代码用上节的LED的,然后再改
用到按键, 先去看看开发板上的按键在哪
通过原理图可知,IO19和20为按键, 按下的时候为低电平,松开的时候为高电平
先配置FPIO 绑定2个KEY先
fpioa.set_function(19,fpioa.GPIOHS2)
fpioa.set_function(20,fpioa.GPIOHS3)
然后配置GPIO
key1 = GPIO(GPIO.GPIOHS2,GPIO.IN,GPIO.PULL_DOWN)
key2 = GPIO(GPIO.GPIOHS3,GPIO.IN,GPIO.PULL_NONE)
同理的 这个GPIOHS3指代的上面配置IO20
先熄灭两个LED
led1.value(0)
led2.value(0)
在死循环中 判断两个按键有没有按下 按下灯就亮
整体代码
import utime
from Maix import FPIOA
from Maix import GPIO
fpioa = FPIOA()
fpioa.set_function(17,fpioa.GPIOHS0)
fpioa.set_function(18,fpioa.GPIOHS1)
fpioa.set_function(19,fpioa.GPIOHS2)
fpioa.set_function(20,fpioa.GPIOHS3)
led1 = GPIO(GPIO.GPIOHS0,GPIO.OUT)
led2 = GPIO(GPIO.GPIOHS1,GPIO.OUT)
key1 = GPIO(GPIO.GPIOHS2,GPIO.IN,GPIO.PULL_DOWN)
key2 = GPIO(GPIO.GPIOHS3,GPIO.IN,GPIO.PULL_NONE)
led1.value(0)
led2.value(0)
while(1):
if(key1.value() == 0):
led1.value(1)
else:
led1.value(0)
if(key2.value() ==0):
led2.value(1)
else:
led2.value(0)
同样的,连接开发板,运行代码
如果想烧录到开发板的,自己去烧录,方法在第二讲点灯那边
现象:
按住KEY1, LED有一个亮,松开就灭
按照KET2,LED另一个亮,松开就灭
两个KEY都按,两个都亮