如何在Tinygo中获得Badger2040上的按钮



我一直试图通过Tinygo访问Badger2040按钮,没有任何运气(我以前在CircuitPython中取得了成功)。

当我尝试根据按钮A改变led状态时,led打开并且从不关闭:

package main
import (
"machine"
"time"
)
func main() {
led := machine.LED
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
button_a := machine.BUTTON_A
button_a.Configure(machine.PinConfig{Mode: machine.PinInputPullup})
for {
led.Set(button_a.Get())
time.Sleep(time.Second / 4)
}
}

如果我改变led。设置为通过!button_a.Get(),则led始终关闭。

看起来button_a.Get()总是返回true。

有人有什么想法吗?

我基于所包含的TinyGo示例(不是用于Badger2040) -使用PinInputPullup -但事实证明Badger2040需要使用PinInputPulldown,即像这样配置按钮:

button_a.Configure(machine.PinConfig{Mode: machine.PinInputPulldown})

注意,这适用于上/下/a/b/c按钮。用户按钮也可以切换,但是是反向的,即当未按下时返回true。

相关内容

  • 没有找到相关文章

最新更新