K210入门 MAIX DOCK——点灯(二)

       

目录

首先看现象

硬件连接

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: GPIO0
  • GPIO1: GPIO1
  • GPIO2: GPIO2
  • GPIO3: GPIO3
  • GPIO4: GPIO4
  • GPIO5: GPIO5
  • GPIO6: GPIO6
  • GPIO7: GPIO7
  • GPIOHS0: GPIOHS0
  • GPIOHS1: GPIOHS1
  • GPIOHS2: GPIOHS2
  • GPIOHS3: GPIOHS3
  • GPIOHS4: GPIOHS4
  • GPIOHS5: GPIOHS5
  • GPIOHS6: GPIOHS6
  • GPIOHS7: GPIOHS7
  • GPIOHS8: GPIOHS8
  • GPIOHS9: GPIOHS9
  • GPIOHS10: GPIOHS10
  • GPIOHS11: GPIOHS11
  • GPIOHS12: GPIOHS12
  • GPIOHS13: GPIOHS13
  • GPIOHS14: GPIOHS14
  • GPIOHS15: GPIOHS15
  • GPIOHS16: GPIOHS16
  • GPIOHS17: GPIOHS17
  • GPIOHS18: GPIOHS18
  • GPIOHS19: GPIOHS19
  • GPIOHS20: GPIOHS20
  • GPIOHS21: GPIOHS21
  • GPIOHS22: GPIOHS22
  • GPIOHS23: GPIOHS23
  • GPIOHS24: GPIOHS24
  • GPIOHS25: GPIOHS25
  • GPIOHS26: GPIOHS26
  • GPIOHS27: GPIOHS27
  • GPIOHS28: GPIOHS28
  • GPIOHS29: GPIOHS29
  • GPIOHS30: GPIOHS30
  • GPIOHS31: GPIOHS31
  • GPIO.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)# 延时函数

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定谔的猫咪死了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值