我目前在Pyboard v1.1上运行这个MicroPython代码:
import pyb
def toggle_led():
pyb.LED(3).toggle()
sw = pyb.Switch()
sw.callback(toggle_led)
但是,这种设置容易受到接触反弹的影响。
我尝试加起来pyb.delay(500)
无济于事。
有没有一种优雅的方法来修复USR
Pyboard 上的开关弹跳?
我目前在Pyboard v1.1上运行这个MicroPython代码:
import pyb
def toggle_led():
pyb.LED(3).toggle()
sw = pyb.Switch()
sw.callback(toggle_led)
但是,这种设置容易受到接触反弹的影响。
我尝试加起来pyb.delay(500)
无济于事。
有没有一种优雅的方法来修复USR
Pyboard 上的开关弹跳?
这对我有用。我的灵感来自MicroPython 论坛上一篇文章中描述的过程。
import pyb
def toggle_led():
pyb.disable_irq()
pyb.delay(100)
if sw.value(): pyb.LED(3).toggle()
pyb.enable_irq()
sw = pyb.Switch()
sw.callback(toggle_led)
有一种更好的方法,不需要中断。这是Peter Hinch 出色的 uasyncio 教程中按钮示例的链接。