发 帖  
原厂入驻New

【AM335X评估板 EVB-D335免费试用】-2-RS232通讯实战之go语言编程读取GPS数据分享

2020-11-18 16:10:16  702 ARM 开发板 编译 gps
分享
0
本帖最后由 smart555 于 2020-11-18 17:32 编辑

开发环境介绍
  • 主机操作系统:Ubuntu 20.04.1 LTS 64位
  • 目标arm板子平台:EVB-D335+IoT-3352
  • 目标ARM板子系统:Linux embfly 4.14.67
  • 目标ARM板CPU支持指令集:ARMv7
  • 编程语言:go 1.15.5
  • 编译工具:golang编译器(Host)

   项目说明:本项目,在 ubuntu 主机上用go语言编程,实现串口读取GPS模块数据,并通过golang的交叉编译,编译成在盈鹏飞 EVB-D335 板子上可以运行的可执行程序。

    硬件介绍:
GPS-1.png


GPS-2.png

如上图所示是笔者手头有的GPS模块,引出的4根线,分别为:3.3V+ GND RX TX ;熟悉GPS模块的小伙伴都清楚,一般GPS模块都是串口模式输出位置信息,上面这款也一样,串口输出,波特率是4800;用串口调试软件可以看到GPS模块的输出信息:

串口调试工具读取成功.png
    笔者此次用的是板载的串口2,串口编号为 /dev/ttyO2,实物接线也较简单:

接线.jpg

   详细的go程序代码,就不贴出来了,放在附件方便看官下载。我是这样编译以适用EVB-D335:
  1. GOOS=linux GOARCH=arm GOARM=7 go build go-serial.go
复制代码
说明下:
GOOS=linux      表示目标系统;
GOARCH=arm  表示目标硬件CPU架构;
GOARM=7     表示目标CPU支持的指令集;
go build         表示编译命令
go-serial.go    表示被编译的程序文件


执行完上面的指令,就会在当前目录生成一个可执行程序 名字为go-serial ;
ARM板子上的linux系统不用安装go语言的环境,在PC主机上用golang的交叉编译工具编译之后传到ARM板子上就可以直接运行了,这是因为golang交叉编译出来的二进制文件,只依赖于libc库,可以直接运行。如下图所示为在板子上运行效果:

go-serial读取成功.png
    当go语言遇到ARM板子,是蛮好玩的,在快乐的同时,笔者也遇到一个又一个坑,也在不断跳出坑,只盼望玩go控制ARM板卡的人越来越多,那就更好玩了。
    未完待续......









serial_test_go.rar

下载积分: 积分 -1 分

1.05 MB, 下载次数: 0, 下载积分: 积分 -1 分

相关经验

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表