本站改版新增arduino频道
from machine import Pin
import time
import machine
value = 1
counter = 0
def func(v):
global value, counter
time.sleep_ms(50)
if(button.value() == 0): #按键未按下
return
while(button.value() == 1): #按键消抖并等待按键松开
time.sleep_ms(100)
time.sleep_ms(100)
counter += 1
led.value(value) #设置LED
value = 0 if value else 1 #翻转LED灯状态
print("IRQ", counter)
try:
led = Pin(25, Pin.OUT) #将led引脚定义为输出
led.value(0)
button = Pin(27, Pin.IN) #将button引脚定义输入
button.irq(trigger=Pin.IRQ_RISING, handler=func) #中断(上升沿触发)
while True:
pass
except:
machine.disable_irq()
实验效果
采用上升沿触发,每按下按钮一次,数字LED灯都会开关切换,可以看到闪烁效果。
Copyright © 2014 ESP56.com All Rights Reserved
晋ICP备14006235号-22 晋公网安备14108102001165号
执行时间: 0.0097498893737793 seconds