[经验分享] 润和hi3861UART接口GPS定位模块ATGM336H-5N 开发 原创

离北况归 显示全部楼层 发表于 2023-10-17 15:35:10

  • 通过本文您将了解: 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源码环境中uart接口有关的头文件

  • 注意事项:

    • 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板,它大概长下面这样。 6a8ab7359eca6c96e3c49715943885d.jpg
  • 3861核心板和USB转TTL板的连接 用杜邦线将3861核心板GPIO1和USB转TTL板的TXD连接,GPIO0和USB转TTL板的RXD连接 image.png
  • 烧录uart_demo至3861运行,使用串口工具打开两个串口 image.png
  • 运行效果:左边3861的串口可以收到右边串口发的信息,右边一直收到左边发来的信息。并且ttl转usb板上有一个小灯一直在闪动。 5345.png

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
  • demo仓库地址:3861 GPS定位模块开发 image.png

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

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

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部