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

系统 OpenHarmony
通过本文您将了解:HiHopePegasus 3861 RISC-V芯片 UART通信接口的基础使用,GPS定位模块ATGM336H-5N的使用、与3861的接线方式。HiHopePegasus 3861通过UART通信接口与GPS定位模块ATGM336H-5N连接后输出的GPS数据的解析。

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

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 开源基础软件社区
相关推荐

2023-04-24 15:11:51

系统开发鸿蒙

2023-05-06 15:41:00

人体传感器数据鸿蒙

2022-08-19 10:54:47

操作系统鸿蒙

2023-07-28 15:32:26

鸿蒙操作系统

2023-04-03 15:39:31

2023-08-07 15:13:09

设备开发鸿蒙

2022-01-21 21:22:24

OpenHarmon操作系统鸿蒙

2023-03-24 14:39:17

鸿蒙系统开发

2022-02-09 19:45:41

MQTTOpenHarmon鸿蒙

2022-06-09 14:40:14

系统移植鸿蒙

2022-01-24 18:35:56

OpenHarmon鸿蒙操作系统

2022-01-24 18:43:20

OpenHarmon操作系统鸿蒙

2022-02-08 15:21:59

Hi3861开发鸿蒙

2022-02-10 15:07:10

云平台OpenHarmon系统开发

2022-04-15 14:31:02

鸿蒙操作系统

2022-02-16 16:01:02

Hi3516开发板鸿蒙

2024-01-05 15:32:47

鸿蒙SNTP智慧时钟

2022-04-15 11:46:09

轻量系统解耦鸿蒙操作系统

2022-02-09 19:31:41

Hi3861OpenHarmon鸿蒙

2022-02-09 19:25:49

Hi3861WiFi操作鸿蒙
点赞
收藏

51CTO技术栈公众号