(原) Golang控制GPIO:用Golang获取ReSpeaker的按键

原创文章,请后转载,并注明出处。

继续对ReSpeaker主板的控制或获取。此主板上板载一个按键,它是连接到GPIO17上的。其它GPIO端口的获取或输出是类似的。

两个未研究的库:https://github.com/stianeikeland/go-rpio,https://github.com/brian-armstrong/gpio。总的来说,Linux下都是操作文件。

import (
        "fmt"
        "os"
        "time"
        "os/exec"
        "github.com/stianeikeland/go-rpio"
)

var (
        pin = rpio.Pin(17)
)

func main() {
        if err := rpio.Open(); err != nil {
                fmt.Println(err)
                os.Exit(1)
        }

        defer rpio.Close()

        pin.Input()
        pin.PullDown()
        for ;; {
            if(pin.Read()==0){
               exec.Command("bash", "-c", "led -l0 99000010;led").Output()  // 调用了之前的LED,让按键有响应
            }
            time.Sleep(time.Millisecond*100)
        }
}

相关文章