2026年6月7日日曜日

tinygo-wioterminal(button-int-with-chatteringOK)

// チャタリング対策ずみコード チャット君に聞いた 

package main

import (

"machine"

"time"

)


func main() {

button1 := machine.BUTTON_1

button1.Configure(machine.PinConfig{

Mode: machine.PinInput,

})


led := machine.LED

led.Configure(machine.PinConfig{

Mode: machine.PinOutput,

})


var changed bool


button1.SetInterrupt(machine.PinToggle, func(machine.Pin) {

changed = true

})


for {

if changed {

// チャタリングが収まるまで待つ

time.Sleep(30 * time.Millisecond)


led.Set(button1.Get())


changed = false

}


time.Sleep(1 * time.Millisecond)

}

}

0 件のコメント:

コメントを投稿