|
本帖最后由 FireBrain 于 2019-5-20 13:15 编辑
用文件方式操作gpio,写了两种操作文件的方法,但是shell命令方式有点问题,os直接操作文件方式如下:
- package main
- import (
- "fmt"
- "os"
- "os/exec"
- "time"
- )
- const filename = "/sys/class/gpio/gpio131/value"
- //调用shell写文件方式
- func cmdRun(v byte) {
- command := "echo " + fmt.Sprintf("%d", v) + " > " + filename
- fmt.Println(command)
- cmd := exec.Command("/bin/sh", command)
- err := cmd.Run()
- if err != nil {
- fmt.Println(err)
- }
- }
- //os直接写文件方式
- func osRun(v byte) {
- file, err := os.OpenFile(filename, os.O_WRONLY, 0666)
- if err != nil {
- fmt.Println(err)
- return
- }
- defer file.Close()
- _, err = file.WriteString(fmt.Sprintf("%d", v))
- if err != nil {
- fmt.Println(err)
- }
- }
- func pinSet(v byte) {
- // cmdRun(v) 暂时有问题,待调试
- osRun(v)
- }
- func main() {
- for {
- pinSet(1)
- time.Sleep(time.Second)
- pinSet(0)
- time.Sleep(time.Second)
- }
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|