0

我目前在Pyboard v1.1上运行这个MicroPython代码:

import pyb

def toggle_led():
    pyb.LED(3).toggle()

sw = pyb.Switch()
sw.callback(toggle_led)

但是,这种设置容易受到接触反弹的影响。

我尝试加起来pyb.delay(500)无济于事。

有没有一种优雅的方法来修复USRPyboard 上的开关弹跳?

4

1 回答 1

1

这对我有用。我的灵感来自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)

更好:uasyncio

有一种更好的方法,不需要中断。这是Peter Hinch 出色的 uasyncio 教程中按钮示例的链接。

于 2017-11-26T02:46:56.450 回答