概述
目录
首先看现象
硬件连接
GPIO的介绍
GPIO() 类
特殊方法(函数)
1、value
2、 irq()
3、disirq
4、 mode
常量
主要程序
以后我会尽量,一直更新K210的操作,使用到了什么,更新什么,让大家一起学习,其实我感觉K210的资料很少,所我尽量介绍细致一点。感谢大家的支持,感觉还不错的,可以关注支持一波,对了,我还写的其他的东西,大家如果有需要可以去看一下。
今天介绍怎么点灯,拿到一个开发板,第一个东西当然是点灯。我会结合官网的资料给大家介绍。
首先看现象
就是做一个闪烁的灯光
硬件连接
可以看到三只灯连接的是板子上的IO12、IO13、IO14,记住只是连接的板子上的引脚,我们需要重映射到这个引脚,才能利用软件控制它。不太理解重映射的可以看看我的第一篇文章
https://blog.csdn.net/m0_58832575/article/details/127709838?spm=1001.2014.3001.5501
GPIO的介绍
General Purpose Input Output (通用输入/输出)简称为 GPIO,或总线扩展器。
K210上有高速 GPIO(GPIOHS) 和通用 GPIO
在 K210 上, GPIO 有以下特征:
-
高速 GPIO:
高速 GPIO 为 GPIOHS,共 32 个。具有如下特点:
- 可配置输入输出信号
- 每个 IO 具有独立中断源
- 中断支持边沿触发和电平触发
- 每个 IO 可以分配到 FPIOA 上 48 个管脚之一
- 可配置上下拉,或者高阻
-
通用 GPIO:
通用 GPIO 共 8 个,具有如下特点:
- 8 个 IO 使用一个中断源
- 可配置输入输出信号
- 可配置触发 IO 总中断,边沿触发和电平触发
- 每个 IO 可以分配到 FPIOA 上 48 个管脚之一
GPIO() 类
原型: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 即不上拉也不下拉
特殊方法(函数)
1、value
GPIO.value([value])
修改/读取 GPIO 引脚状态
参数:
[value]
: 可选参数,如果此参数不为空,则返回当前 GPIO 引脚状态返回值:
返回值:
如果 [value]
参数不为空,则返回当前 GPIO 引脚状态
2、 irq()
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 上升沿和下降沿都触发
返回值:
无
3、disirq
GPIO.disirq()
参数:
无
返回值:
无
4、 mode
设置 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)# 延时函数
最后
以上就是舒适保温杯为你收集整理的K210入门 MAIX DOCK——点灯(二)首先看现象硬件连接GPIO的介绍GPIO() 类特殊方法(函数) 主要程序的全部内容,希望文章能够帮你解决K210入门 MAIX DOCK——点灯(二)首先看现象硬件连接GPIO的介绍GPIO() 类特殊方法(函数) 主要程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复