本项目是车载HIFI播放器,开发语言采用Go.

使用golang完成gpio控制是其中一个功能之一.

1、相关库介绍

通过修改/sys/class/gpio下面的相关文件实现的库:github.com/brian-armstrong/gpio

2、相关功能示例

2.1、对gpio口进行输出操作

1、以输出模式打开引脚

1
2
3
4
5
package main
import "github.com/brian-armstrong/gpio"
// 通过NewOutput方法以输出的模式进行打开一个引脚
// 第一位参数为引脚序号、第二位参数为设置的状态、true为高电平、false为低电平
pin := gpio.NewOutput(65, true)

2、设置电平状态

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
package main
import "github.com/brian-armstrong/gpio"
// 通过NewOutput方法以输出的模式进行打开一个引脚
// 第一位参数为引脚序号、第二位参数为设置的状态、true为高电平、false为低电平
pin := gpio.NewOutput(65, true)
// 设置引脚为低电平状态
err := pin.Low()
if err = nil{
	panic(err)
}

3、设置引脚为高电平状态

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
package main
import "github.com/brian-armstrong/gpio"
// 通过NewOutput方法以输出的模式打开一个引脚
// 第一位参数为引脚序号、第二位参数为设置的状态、true为高电平、false为低电平
pin := gpio.NewOutput(65, true)
// 设置引脚为高电平状态
err := pin.High()
if err = nil{
	panic(err)
}

2.2、对gpio进行读取操作 1、以读取模式打开引脚

1
2
3
4
package main
import "github.com/brian-armstrong/gpio"
// 通过NewInput方法以输出的模式打开一个引脚
pin := gpio.NewInput(65)

2、读取引脚值

1
2
3
4
5
6
7
8
package main
import "github.com/brian-armstrong/gpio"
pin := gpio.NewInput(65)
// 使用read方法读取此时的状态
read, err := pin.Read()
if err != nil {
	panic(err)
}