MicroPython开发板K210的外部中断应用

 为了节省cpu的资源,使用外部中断是必不可少的操作,对于k210的外部中断使用也是很简单的,废话不多少了,直接上代码吧!
 

'''按下按键后,led灯如果是亮的就关闭,如果是关闭的就打开,每次按下led灯的状态都取反'''

from Maix import GPIO                              #  导入GPIO模块
from fpioa_manager import fm                       #  导入fm模块
import utime as t                                  #  导入时间模块取名为t


fm.register(12, fm.fpioa.GPIO0)                    #  注册外部12口为内部低速GPIO0口
fm.register(16,fm.fpioa.GPIOHS0)                   #  注册外部16口为内部高速GPIOHS0口

led = GPIO(GPIO.GPIO0, GPIO.OUT)                   #  创建led对象为内部低速GPIO0,输出模式
key1 = GPIO(GPIO.GPIOHS0, GPIO.IN, GPIO.PULL_DOWN)  #  创建key对象为内部高速GPIOHS0端口,输入模式,下降沿触发

state = 1                                          #  led灯的状态值

# 创建外部中断回调函数
def ZhongDuan(key):   
    global state                                   #  led灯的状态值 声明为全局变量
    t.sleep_ms(10)                                 #  延时10毫秒
    if key.value()==0:                             #  如果按键的值为0:
        state=not state                                  #  就把led的状态值取反
        led.value(state)                                 #  led的值设为led的状态值
        

key1.irq(ZhongDuan, GPIO.IRQ_FALLING)                     # 创建外部中断(回调函数为fun, 下降沿触发方式)

关于代码的解释如下:如果我的解释有什么不对的地方希望路过的大佬给与指正,谢谢!

 下面就是相关函数的介绍了:

 如果我的分享对您来说有那么丁点的用处,愿您把免费的小爱心给与我,谢谢!您的肯定是对我最大的支持!

猜你喜欢

转载自blog.csdn.net/xingyuncao520025/article/details/130454108