go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
go是从2007年末由robert griesemer, rob pike, ken thompson主持开发,后来还加入了ian lance taylor, russ cox等人,并最终于2009年11月开源,在2012年早些时候发布了go 1稳定版本。现在go的开发已经是完全开放的,并且拥有一个活跃的社区。
这是本次开发板开箱和系统烧录视频
https://www.bilibili.com/video/bv1cu4y1m7lj/
一、命令行点灯 本次使用的开发板有1g的ram,运行golang不成问题。通过香橙派的使用手册,可以看到系统默认引出的led有两个,实测mangopi mq quad可以使用的led为/sys/class/leds/green:status/brightness。
可以在命令行终端里输入以下命令控制led,0为灭,1为亮
echo 0 > /sys/class/leds/green:status/brightness
然后,就可以用golang来实现点灯程序啦。
二、golang点灯 新建一个main.go文件,并输入以下内容:
package mainimport ( fmt os time)func main() { ledfile := /sys/class/leds/green:status/brightness openfile, e := os.openfile(ledfile, os.o_rdwr, 777) if e != nil { fmt.println(e) } else { fmt.println(file open, program start!) for { time.sleep(1 * time.second) fmt.println(turn on led!) openfile.writestring(1n) time.sleep(1 * time.second) fmt.println(turn off led!) openfile.writestring(0n) } } openfile.close()} 这就是用golang点灯的程序 ,原理也很简单,通过golang的os库 ,打开/sys/class/leds/green:status/brightness
文件,然后不断地写入1和0即可,经测试 ,若完全连续写入,开关的频率可达172khz。
但是由于程序线程并不能一直强行占用cpu运行,所以使用这种方式控制io,不能实现呼吸灯的效果。但是用来控制继电器什么的,已经完全足够了。
golang也支持交叉编译 ,在x86主机上使用以下命令编译,并通过scp命令上传到开发板上运行即可。
编译命令
goos=linux goarch=arm64 goarm=7 go build -o main main.go
上传命令
scp main orangepi@192.168.50.60:~/
以下是程序运行截图
直流伺服电动机的工作原理
用MAX543实现DSP采样系统的量程自动转换
采用DSP芯片DM642实现桥梁缆索表面缺陷检测系统的设计
芯旺KungFu内核国产车规级MCU备受认可
英特尔7nm恐延至2021年 AMD要与GF分手
【芒果派MangoPi MQ Quad】使用Golang点灯
茂硕电源宣布全资子公司被认定为广东省工程技术研究中心 将推进在LED智慧驱动电源领域的自主研发实力
揭秘液态透镜的类型和工作原理
云市场新蓝海 国内混战开始
通用汽车将在美国等为本田生产电动汽车
河流原位总磷总氮水质监测浮标搭载设备有哪些功能
泰克示波器一台多少钱?
锂电池保护板厂家教你选购保护板的要点
2026年全球PCB行业产值将达1016亿美元
农兽药残留检测仪的性能及参数
中科创达与亚马逊云科技成立人工智能联合创新实验室
盒式交换机和框式交换机的区别
运算放大器常见的指标及重要特性解析
千年盐河北岸,淮安高新区内,半导体产业航母巍然初成
时序分析基本概念介绍<generate clock>