【Golang】简单的树莓派GPIO库
313 字
2 分钟
【Golang】简单的树莓派GPIO库

Github 版本:v0.3 对GPIO简单的操作 功能: 1.设置指定的GPIO口是发射还是接收口(in/out) 2.设置发射口是高电平还是低电平(1/0) 3.释放GPIO口(Close()) 4.软件实现PWM(实验性,频率越高越消耗cpu资源) 示例:
package mainimport ( gogpio "github.com/Rehtt/gogpio" "log" "time")func main() {//绑定针脚号(BCM)pin1, err1 := gogpio.PinBind(20)pin2, err2 := gogpio.PinBind(21)pin3, err3 := gogpio.PinBind(22)pin4, err4 := gogpio.PinBind(23)
//声明针脚为out输出if err1 != nil {log.Println(err1)}out := pin1.SetOut()out.High() //输出高电平out.Low() //输出低电平
//声明针脚为in输入if err2 != nil {log.Println(err2)}in := pin2.SetIn()log.Println(in.Read()) //读取输入的数据
//不声明,直接读取数据。时合在其他程序使用此针脚时读取其数据if err3 != nil {log.Println(err3)}log.Println(pin3.Read())
//声明为PWM(此功能为实验性功能,这里的PWM由软件生成,所以运行时会占用一定的cpu资源,频率越高cpu占用也越高)if err4 != nil {log.Println(err4)}pwm := pin4.SetPWM()err = pwm.SetFreq(5) //频率单位为Hz,数值 > 0.0err = pwm.SetDC(20) //占空比单位为% ,0.0 < 数值 < 100if err != nil {log.Println(err)}pwm.StartPWM() //开启PWMpwm.StopPWM() //关闭PWM
//释放pin1.Close()pin2.Close()pin3.Close()pin4.Close()}支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
【Golang】关于time包的一些记录
Golang笔记2022-01-04
2
【Golang】GO项目结构
Golang笔记2019-06-25
3
【Golang】使用CGO交叉编译
Golang笔记2020-04-08
4
【Golang】命令行传递参数
Golang笔记2018-09-13
5
【Golang】1.18泛型初步理解
Golang笔记2022-04-18
随机文章随机推荐















加载更多…