继续对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)
}
}