8

OpenHarmony轻量系统—润和hi3861UART接口GPS定位模块ATGM336H-5N 开发

 1 year ago
source link: https://www.51cto.com/article/758509.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

OpenHarmony轻量系统—润和hi3861UART接口GPS定位模块ATGM336H-5N 开发

作者:离北况归 2023-06-25 14:52:04
通过本文您将了解:HiHopePegasus 3861 RISC-V芯片 UART通信接口的基础使用,GPS定位模块ATGM336H-5N的使用、与3861的接线方式。HiHopePegasus 3861通过UART通信接口与GPS定位模块ATGM336H-5N连接后输出的GPS数据的解析。
d4423fc85b28fe3128285108c0c69a9467a248.png

想了解更多关于开源的内容,请访问:

51CTO 开源基础软件社区

https://ost.51cto.com

笔者最近用润和HiHope hi3861智能家居开发套件连接了GPS定位模块ATGM336H-5N,实现了输出经纬度位置信息,以此篇文章分享学习经验,并且开放源码供大家参考学习。

https://gitee.com/from-north-to-north/HiHopePegasus_3861_GPS。

样例运行的OpenHarmony源码环境下载:https://gitee.com/HiSpark/hi3861_hdu_iot_application

通过本文您将了解:

  1. HiHopePegasus 3861 RISC-V芯片 UART通信接口的基础使用。
  2. GPS定位模块ATGM336H-5N的使用、与3861的接线方式。
  3. HiHopePegasus 3861通过UART通信接口与GPS定位模块ATGM336H-5N连接后输出的GPS数据的解析。
  • hi3861 UART通信接口
  • 3861 UART通信接口的基础使用
  • GPS定位模块ATGM336H-5N 通过UART接口 与3861通信

1、hi3861 UART通信接口

通用异步收发器UART(Universal Asynchronous Receiver Transmitter)是一个异步

串行的通信接口,主要功能是和外部芯片的UART进行对接,从而实现两芯片间的通

信。hi3861芯片提供3个UART单元。

样例运行的OpenHarmony源码环境中uart接口有关的头文件

  • hi_uart.h
  • iot_uart.h

注意事项:

  • SDK中,UART1默认用作AT命令通道,复用GPIO5/6 为UART的TX、RX功能。
  • SDK中,UART0默认用作程序烧写和维测数据通道,复用GPIO3/4 为UART的TX、RX功能,用户如果使用UART0作为其他功能,可屏蔽app_main中的hi_diag_init函数。
  • UART0不支持硬件流控功能。
  • hi_uart_lp_restore接口与hi_uart_lp_save接口用于深睡唤醒与睡眠流程中,以保证唤醒后UART能够恢复睡前配置。

2、3861 UART通信接口的基础使用

笔者通过海思写的uart_demo进行学习,但是此样例并没有提供readme。

该demo需要一个USB转TTL板,它大概长下面这样。

[OpenHarmony轻量系统②]润和hi3861UART接口GPS定位模块ATGM336H-5N 开发-开源基础软件社区

3861核心板和USB转TTL板的连接。

用杜邦线将3861核心板GPIO1和USB转TTL板的TXD连接,GPIO0和USB转TTL板的RXD连接。

[OpenHarmony轻量系统②]润和hi3861UART接口GPS定位模块ATGM336H-5N 开发-开源基础软件社区

烧录uart_demo至3861运行,使用串口工具打开两个串口。

[OpenHarmony轻量系统②]润和hi3861UART接口GPS定位模块ATGM336H-5N 开发-开源基础软件社区

运行效果:左边3861的串口可以收到右边串口发的信息,右边一直收到左边发来的信息。并且ttl转usb板上有一个小灯一直在闪动。

[OpenHarmony轻量系统②]润和hi3861UART接口GPS定位模块ATGM336H-5N 开发-开源基础软件社区

3、GPS定位模块ATGM336H-5N 通过UART接口 与3861通信

熟悉完3861 UART通信接口的基础使用后就可以进行GPS定位模块ATGM336H-5N的开发了。核心板与GPS模块接线方式如下:

  • GPS模块VCC 接 3861核心板5v供电
  • GPS模块GND 接 3861核心板GND
  • GPS模块TX 接 3861核心板GPIO1
  • GPS模块RX 接 3861核心板GPIO0
[OpenHarmony轻量系统②]润和hi3861UART接口GPS定位模块ATGM336H-5N 开发-开源基础软件社区

demo仓库地址:3861 GPS定位模块开发。

[OpenHarmony轻量系统②]润和hi3861UART接口GPS定位模块ATGM336H-5N 开发-开源基础软件社区

main.c程序的大概逻辑如下(值得注意的是GPS输出的是WGS-84坐标系的经纬度,而不是GCJ-02坐标系下的经纬度。因此输出数据会有偏差)。

[OpenHarmony轻量系统②]润和hi3861UART接口GPS定位模块ATGM336H-5N 开发-开源基础软件社区

最后程序运行效果如下:串口输出mm.mmmm格式的经纬度坐标(WGS-84坐标系)。

[OpenHarmony轻量系统②]润和hi3861UART接口GPS定位模块ATGM336H-5N 开发-开源基础软件社区

想了解更多关于开源的内容,请访问:

51CTO 开源基础软件社区

https://ost.51cto.com

责任编辑:jianghua 来源: 51CTO 开源基础软件社区

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK