• 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: 上升沿和下降沿都触发

     主要程序

    1. import utime # 时间函数,里面存在延迟函数
    2. from Maix import GPIO,FPIOA #
    3. from board import board_info
    4. from fpioa_manager import fm
    5. # 把GPIOHS0重映射到第13号引脚上,MAIX DOCK开发板的13号引脚控制着LED_R
    6. fm.register(board_info.LED_R,fm.fpioa.GPIOHS0)
    7. led_r=GPIO(GPIO.GPIOHS0,GPIO.OUT) # 设置成输出模式
    8. # 把通用GPIO0重映射到第13号引脚上,MAIX DOCK开发板的14号引脚控制着LED_B
    9. fpioa = FPIOA()
    10. fpioa.set_function(board_info.LED_B, fm.fpioa.GPIO0)
    11. led_b=GPIO(GPIO.GPIO0,GPIO.OUT) # 设置成输出模式
    12. while True:
    13. led_r.value(0) # 设置状态
    14. led_b.value(1) # 设置状态
    15. utime.sleep_ms(500) # 延时函数
    16. led_r.value(1) # 设置状态
    17. led_b.value(0) # 设置状态
    18. utime.sleep_ms(500)# 延时函数
    19. led_r.value(0) # 设置状态
    20. led_b.value(0) # 设置状态
    21. utime.sleep_ms(500)# 延时函数

  • 相关阅读:
    怎样用PHP语言实现远程控制三路开关
    git中添加不上传的文件夹或文件的名字
    数据库存储引擎
    Docker使用ssh连接ubuntu容器
    python re 使用非捕获组来忽略第一个value的匹配结果
    Spark SQL简介
    LeetCode(力扣)70. 爬楼梯Python
    Maven环境搭建
    1451_TC275 DataSheet阅读笔记12_时钟、温度以及供电
    KDD '22 | 物理模型增强伪标记的 T 细胞受体-肽相互作用预测
  • 原文地址:https://blog.csdn.net/m0_58832575/article/details/127712568