在pinpong库中,按钮有两种方式调用,第二种是中断事件回调式。
语法:button_a.irq(trigger=触发模式, handler = 回调函数) button_b.irq(trigger=触发模式, handler = 回调函数)
返回值:无
输入参数:
trigger:触发模式,有上升沿(Pin.IRQ_RISING)、下降沿(Pin.IRQ_FALLING)、电平跳变(Pin.IRQ_RISING+Pin.IRQ_FALLING)三种
【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
行空板板载资源的测试——Mind+代码编程
测试程序五:板载A、B按钮开关(中断回调式)
#【花雕体验】08行空板硬件控制pinpong库的系列测试(之一)
# 行空板板载资源的测试——Mind+代码编程
# 测试程序五:板载A、B按钮开关(中断回调式)
# -*- coding: UTF-8 -*-
from pinpong.extension.unihiker import *
from pinpong.board import Board,Pin
import time
Board().begin()
#引脚初始化为电平输出模式,P25为L灯的引脚
led = Pin(Pin.P25, Pin.OUT)
print("板载A、B按钮开关(中断回调式)")
def btn_a_rasing_handler(pin):#中断事件回调函数
print("按钮A按下,点亮LED")
led.value(1) #输出高电平
def btn_b_falling_handler(pin):#中断事件回调函数
print("按钮B按下,LED熄灭")
led.value(0) #输出低电平
button_a.irq(trigger=Pin.IRQ_RISING, handler = btn_a_rasing_handler)#上升沿触发
button_b.irq(trigger=Pin.IRQ_FALLING, handler = btn_b_falling_handler)#下降沿触发
while True:
time.sleep(1)#等待让程序不退出
|