赞
踩
我们先来看看pyAI-K210的原理图,看看按键对应的外部 IO引脚。
从原理图可以看到,按键KEY的 一端连接到 K210的外部 IO16,另一端连接到 GND。所以按键在没按下时候输入高电平( 1),按下时候输入低电平 0)。
和LED一样,按键的输入检测也是用到 GPIO对象 模块 ,具体如下
fm.register(pin,function,force=False)
参数:
【pin 】芯片外部 I O
【function 】芯片功能
【force 】 True 则强制注册,清除之前的注册记录;
例:
fm .register( 12,fm.fpioa.GPIO0,force=True)
fm.register(12,fm.fpioa.GPIO0)
# 表示将外部 IO12 注册到内部 GPIO0
注册成功后我们就可以通过 GPIO对象模块来控制外部 IO,从而控制 LED。
GPIO对象说明如下:
GPIO(ID,MODE,PULL,VALUE)
【 ID】内部 GPIO编号
【 MODE】 GPIO模式;
GPIO.IN :输入模式
GPIO.OUT :输出模式
【 PULL】
GPIO.PULL_UP :上拉
GPIO.PULL_DOWN :下拉
GPIO.PULL_NONE :无
【 value】 GPIO初始化电平
1:高电平
0:低电平
GPIO. value([value])
【value】 GPIO输出电平值;
1:高电平
0:低电平
输入模式时候参数为空,表示获取当前 IO输入电平值。
例:
# 设置 GPIO 为输出模式
gpio=GPIO(GPIO.GPIO0,GPIO.OUT)
# 设置 GPIO 为低电平
gpio.value(0)
# 设置 GPIO 为输出模式且为低电平
gpio = GPIO(GPIO.GPIO0, GPIO.OUT,value=0)
# 读取GPIO电平
print(gpio.value())
上表对MicroPython的 GPIO对象做了详细的说明, GPIO模块在 Maix大模
块下,而 fm模块 是 在 fpioa_manager大模块 下面 的其中一个小模块,在 python编程里有两种方式引用相关模块 :
显然 方式 2会显得更直观和方便
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: #按键被按下接地,读取GPIO的值 LED_B.value(0) #点亮LED_B,蓝灯 else: LED_B.value(1) #熄灭LED
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。