# 润和HiHopePegasus 3861 UART接口GPS定位模块ATGM336H-5N开发 **Repository Path**: from-north-to-north/HiHopePegasus_3861_GPS ## Basic Information - **Project Name**: 润和HiHopePegasus 3861 UART接口GPS定位模块ATGM336H-5N开发 - **Description**: 润和HiHopePegasus 3861 UART接口GPS定位模块ATGM336H-5N开发 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-06-02 - **Last Updated**: 2024-01-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 润和HiHopePegasus 3861 UART接口GPS定位模块ATGM336H-5N开发 ``` 3861 UART通信接口的基础使用 GPS_demo ``` - 笔者最近用润和HiHope hi3861智能家居开发套件连接了GPS定位模块ATGM336H-5N,实现了输出经纬度位置信息,以此篇文章分享学习经验,并且开放源码供大家参考学习。 - https://gitee.com/from-north-to-north/HiHopePegasus_3861_GPS - 样例运行的OpenHarmony源码环境下载:https://gitee.com/HiSpark/hi3861_hdu_iot_application - 往期回顾:[[OpenHarmony轻量系统①]润和HiHope 3861实现UDP广播温湿度](https://ost.51cto.com/posts/23282) ---- - 通过本文您将了解: 1、HiHopePegasus 3861 RISC-V芯片 UART通信接口的基础使用 2、GPS定位模块ATGM336H-5N的使用、与3861的接线方式。 3、`HiHopePegasus 3861`通过`UART通信接口`与`GPS定位模块ATGM336H-5N`连接后输出的GPS数据的解析 ## 1、hi3861 UART通信接口 - 通用异步收发器UART(Universal Asynchronous Receiver Transmitter)是一个异步 串行的通信接口,主要功能是和外部芯片的UART进行对接,从而实现两芯片间的通 信。hi3861芯片提供3个UART单元。 - [样例运行的OpenHarmony源码环境](https://gitee.com/HiSpark/hi3861_hdu_iot_application)中uart接口有关的头文件 - [hi_uart.h](https://gitee.com/HiSpark/hi3861_hdu_iot_application/blob/master/src/device/hisilicon/hispark_pegasus/sdk_liteos/include/hi_uart.h) - [iot_uart.h](https://gitee.com/HiSpark/hi3861_hdu_iot_application/blob/master/src/base/iot_hardware/peripheral/interfaces/kits/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](https://gitee.com/HiSpark/hi3861_hdu_iot_application/tree/master/src/vendor/hisilicon/hispark_pegasus/demo/uart_demo)进行学习,但是此样例并没有提供readme。 - 该demo需要一个`USB转TTL板`,它大概长下面这样。 ![6a8ab7359eca6c96e3c49715943885d.jpg](https://dl-harmonyos.51cto.com/images/202306/f3b51b882d8ef8130492157624c49e7e1e7bd9.jpg?x-oss-process=image/resize,w_820,h_618) - 3861核心板和USB转TTL板的连接 用杜邦线将3861核心板GPIO1和USB转TTL板的TXD连接,GPIO0和USB转TTL板的RXD连接 ![image.png](https://dl-harmonyos.51cto.com/images/202306/d1bad572529966e43385204c069316225aaaac.png?x-oss-process=image/resize,w_787,h_903) - 烧录[uart_demo](https://gitee.com/HiSpark/hi3861_hdu_iot_application/tree/master/src/vendor/hisilicon/hispark_pegasus/demo/uart_demo)至3861运行,使用[串口工具](https://gitee.com/from-north-to-north/HiHopePegasus_3861_GPS/blob/master/3861%20UART%E9%80%9A%E4%BF%A1%E6%8E%A5%E5%8F%A3%E7%9A%84%E5%9F%BA%E7%A1%80%E4%BD%BF%E7%94%A8/%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84%E4%B8%B2%E5%8F%A3%E5%B7%A5%E5%85%B7/sscom5.13.1.exe)打开两个串口 ![image.png](https://dl-harmonyos.51cto.com/images/202306/e12cefa16de9a6192c3114d1b84905a17c219c.png?x-oss-process=image/resize,w_820,h_685) - 运行效果:左边3861的串口可以收到右边串口发的信息,右边一直收到左边发来的信息。并且ttl转usb板上有一个小灯一直在闪动。 ![5345.png](https://dl-harmonyos.51cto.com/images/202306/73e72f574ad60b86efc36418ca87544ea61cee.png?x-oss-process=image/resize,w_820,h_935) ## 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 ![1007ef7b6eb172cde2b3d5e9fd880b0.jpg](https://dl-harmonyos.51cto.com/images/202306/64331f69358eb350eb6724c8a5b0e167afe9b0.jpg?x-oss-process=image/resize,w_820,h_1420) - demo仓库地址:[3861 GPS定位模块开发](https://gitee.com/from-north-to-north/HiHopePegasus_3861_GPS) ![image.png](https://dl-harmonyos.51cto.com/images/202306/88255c972d2ab41995365161ae6ed0ff3f44e6.png?x-oss-process=image/resize,w_354,h_174) - main.c程序的大概逻辑如下(值得注意的是GPS输出的是WGS-84坐标系的经纬度,而不是GCJ-02坐标系下的经纬度。因此输出数据会有偏差) ![image.png](https://dl-harmonyos.51cto.com/images/202306/c437d4e313e02d93541307053216b75ec9f133.png?x-oss-process=image/resize,w_520,h_448) - 最后程序运行效果如下:串口输出mm.mmmm格式的经纬度坐标(WGS-84坐标系) ![image.png](https://dl-harmonyos.51cto.com/images/202306/17d6c62825785870ae7492a80eca4f2f18f28a.png?x-oss-process=image/resize,w_820,h_561)