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

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

1、相关库介绍

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

2、相关功能示例

2.1、对gpio口进行输出操作

1、以输出模式打开引脚

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

2、设置电平状态

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、设置引脚为高电平状态

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、以读取模式打开引脚

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

2、读取引脚值

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