视频加载失败

【Golang】简单的树莓派GPIO库

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

Github 版本:v0.3 对GPIO简单的操作 功能: 1.设置指定的GPIO口是发射还是接收口(in/out) 2.设置发射口是高电平还是低电平(1/0) 3.释放GPIO口(Close()) 4.软件实现PWM(实验性,频率越高越消耗cpu资源) 示例:

package main
import (
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.0
err = pwm.SetDC(20) //占空比单位为% ,0.0 < 数值 < 100
if err != nil {
log.Println(err)
}
pwm.StartPWM() //开启PWM
pwm.StopPWM() //关闭PWM
//释放
pin1.Close()
pin2.Close()
pin3.Close()
pin4.Close()
}

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
【Golang】简单的树莓派GPIO库
https://rehtt.com/posts/213/
作者
Rehtt
发布于
2019-11-24
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Rehtt
Hello, I'm Rehtt.
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
150
分类
17
标签
73
总字数
67,772
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0

当前页面没有目录

文章目录

当前页面没有目录