K210学习笔记(三)按键触发外部中断

3 篇文章 0 订阅
3 篇文章 0 订阅

前言

某些时候按键扫描并不能满足实时性,就需要开启外部中断功能。
关于K210 GPIO外部中断API可以参考MaixPy官方文档

 开启中断函数

代码

1.载入相关的库

from Maix import FPIOA, GPIO
import gc
from fpioa_manager import fm
from board import board_info
import utime

2.引脚注册并配置成输入模式

fm.register(15, fm.fpioa.GPIOHS0)
fm.register(16, fm.fpioa.GPIOHS1)
fm.register(17, fm.fpioa.GPIOHS2)

key_gpio_press = GPIO(GPIO.GPIOHS0, GPIO.IN)
key_gpio_up = GPIO(GPIO.GPIOHS1, GPIO.IN)
key_gpio_down = GPIO(GPIO.GPIOHS2, GPIO.IN)

3.配置外部中断及中断回调函数

BOUNCE_PROTECTION = 50
def set_key_state_press(*_):
    flag = 0
    print(flag)
    utime.sleep_ms(BOUNCE_PROTECTION)

def set_key_state_up(*_):
    flag = 1
    print(flag)
    utime.sleep_ms(BOUNCE_PROTECTION)

def set_key_state_down(*_):
    flag = 2
    print(flag)
    utime.sleep_ms(BOUNCE_PROTECTION)

key_gpio_press.irq(set_key_state_press, GPIO.IRQ_RISING, GPIO.WAKEUP_NOT_SUPPORT)
key_gpio_up.irq(set_key_state_up, GPIO.IRQ_RISING, GPIO.WAKEUP_NOT_SUPPORT)
key_gpio_down.irq(set_key_state_down, GPIO.IRQ_RISING, GPIO.WAKEUP_NOT_SUPPORT)

主函数里不需要进行相关配置,当按键按下后会自动进入中断函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值