目录
以后我会尽量,一直更新K210的操作,使用到了什么,更新什么,让大家一起学习,其实我感觉K210的资料很少,所我尽量介绍细致一点。感谢大家的支持,感觉还不错的,可以关注支持一波,对了,我还写的其他的东西,大家如果有需要可以去看一下。
今天介绍怎么点灯,拿到一个开发板,第一个东西当然是点灯。我会结合官网的资料给大家介绍。
就是做一个闪烁的灯光
可以看到三只灯连接的是板子上的IO12、IO13、IO14,记住只是连接的板子上的引脚,我们需要重映射到这个引脚,才能利用软件控制它。不太理解重映射的可以看看我的第一篇文章
https://blog.csdn.net/m0_58832575/article/details/127709838?spm=1001.2014.3001.5501
General Purpose Input Output (通用输入/输出)简称为 GPIO,或总线扩展器。
K210上有高速 GPIO(GPIOHS) 和通用 GPIO
在 K210 上, GPIO 有以下特征:
高速 GPIO:
高速 GPIO 为 GPIOHS,共 32 个。具有如下特点:
通用 GPIO:
通用 GPIO 共 8 个,具有如下特点:
原型: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 即不上拉也不下拉
GPIO.value([value])
修改/读取 GPIO 引脚状态
参数:
[value]
: 可选参数,如果此参数不为空,则返回当前 GPIO 引脚状态返回值:返回值:
如果 [value]
参数不为空,则返回当前 GPIO 引脚状态
GPIO.irq(CALLBACK_FUNC,TRIGGER_CONDITION,GPIO.WAKEUP_NOT_SUPPORT,PRORITY)
参数:
CALLBACK_FUNC
:中断回调函数,当中断触发的时候被调用,一个入口函数 pin_num
• PIN_NUM 返回的是触发中断的 GPIO 引脚号(只有GPIOHS支持中断,所以这里的引脚号也是GPIOHS的引脚号)
TRIGGER_CONDITION
:GPIO 引脚的中断触发模式
• GPIO.IRQ_RISING 上升沿触发
• GPIO.IRQ_FALLING 下降沿触发
• GPIO.IRQ_BOTH 上升沿和下降沿都触发
返回值:
无
GPIO.disirq()
参数:
无
返回值:
无
设置 GPIO 输入输出模式
GPIO.mode(MODE)
MODE
• GPIO.IN
输入模式
• GPIO.PULL_UP
上拉输入模式
• GPIO.PULL_DOWN
下拉输入模式
• GPIO.OUT
输出模式
返回值:
无
GPIO0
: GPIO0GPIO1
: GPIO1GPIO2
: GPIO2GPIO3
: GPIO3GPIO4
: GPIO4GPIO5
: GPIO5GPIO6
: GPIO6GPIO7
: GPIO7GPIOHS0
: GPIOHS0GPIOHS1
: GPIOHS1GPIOHS2
: GPIOHS2GPIOHS3
: GPIOHS3GPIOHS4
: GPIOHS4GPIOHS5
: GPIOHS5GPIOHS6
: GPIOHS6GPIOHS7
: GPIOHS7GPIOHS8
: GPIOHS8GPIOHS9
: GPIOHS9GPIOHS10
: GPIOHS10GPIOHS11
: GPIOHS11GPIOHS12
: GPIOHS12GPIOHS13
: GPIOHS13GPIOHS14
: GPIOHS14GPIOHS15
: GPIOHS15GPIOHS16
: GPIOHS16GPIOHS17
: GPIOHS17GPIOHS18
: GPIOHS18GPIOHS19
: GPIOHS19GPIOHS20
: GPIOHS20GPIOHS21
: GPIOHS21GPIOHS22
: GPIOHS22GPIOHS23
: GPIOHS23GPIOHS24
: GPIOHS24GPIOHS25
: GPIOHS25GPIOHS26
: GPIOHS26GPIOHS27
: GPIOHS27GPIOHS28
: GPIOHS28GPIOHS29
: GPIOHS29GPIOHS30
: GPIOHS30GPIOHS31
: GPIOHS31GPIO.IN
: 输入模式GPIO.OUT
: 输出模式GPIO.PULL_UP
: 上拉GPIO.PULL_DOWN
: 下拉GPIO.PULL_NONE
: 即不上拉也不下拉GPIO.IRQ_RISING
: 上升沿触发GPIO.IRQ_FALLING
:下降沿触发GPIO.IRQ_BOTH
: 上升沿和下降沿都触发- import utime # 时间函数,里面存在延迟函数
- from Maix import GPIO,FPIOA #
- from board import board_info
- from fpioa_manager import fm
-
- # 把GPIOHS0重映射到第13号引脚上,MAIX DOCK开发板的13号引脚控制着LED_R
- fm.register(board_info.LED_R,fm.fpioa.GPIOHS0)
- led_r=GPIO(GPIO.GPIOHS0,GPIO.OUT) # 设置成输出模式
-
-
- # 把通用GPIO0重映射到第13号引脚上,MAIX DOCK开发板的14号引脚控制着LED_B
- fpioa = FPIOA()
- fpioa.set_function(board_info.LED_B, fm.fpioa.GPIO0)
- led_b=GPIO(GPIO.GPIO0,GPIO.OUT) # 设置成输出模式
-
- while True:
-
- led_r.value(0) # 设置状态
- led_b.value(1) # 设置状态
- utime.sleep_ms(500) # 延时函数
- led_r.value(1) # 设置状态
- led_b.value(0) # 设置状态
- utime.sleep_ms(500)# 延时函数
- led_r.value(0) # 设置状态
- led_b.value(0) # 设置状态
- utime.sleep_ms(500)# 延时函数