USART HMI串口屏+GPS模块显示时间和经纬度

USART HMI串口屏+GPS模块显示时间和经纬度


  • 📍相关篇《基于u-box GPS模块通过串口指令调整输出信息》
📋在不使用其他单片机做数据中转处理情况下,利用USART HMI串口屏主动解析模式,来接收并解析GPS模块数据并显示,功能包括串口屏幕发送配置指令给GPS模块。
  • 🌿GPS模块使用的是u-box m8130kt GPS模块
  • 🌿有关具体的GPS配置指令介绍,可以参考上面的相关篇内容。
  • 🌿串口屏主动解析基本知识参考:http://wiki.tjc1688.com/advanced/recmod/recmod_base.html#recmod
    在这里插入图片描述
    在这里插入图片描述
  • 🔖我这里配置GPS+BEIDOU模式的话,实际上操作的发送相关配置指令给GPS模块。

🛠功能实现与代码逻辑

  • 🌿在主动解析模式下,判断帧头和帧尾信息
if(usize>0&&u[0]!=0x24&&u[1]!=0x47)//判断帧头"$G"
{udelete 1
}
if(usize>=2)
{usize2=usize-1for(length=0;length<usize2;length++){if(u[length]==0x0d&&u[length+1]==0x0a)//回车换行 \r\n{totalLength=length+2ucopy t10.txt,0,length,0udelete totalLength}}
}
  • 🌿时间信息和经纬度信息,可通过解析$GNRMC$GNZDA获取。
  • 🔨具体数据内容的解析,主要是对字符串数据进行加工处理。
    • 🔖提取帧头信息并判断是不是要找的对象:
spstr t10.txt,t11.txt,",",0 //以,为分隔符,截取第0个
if(t11.txt=="$GNRMC"||t11.txt=="$GNZDA")
{btlen t10.txt,n1.val//只有帧头为$GNRMC和 $GNZDA保留
}
if(t11.txt=="$GNZDA")
{//$GNZDA,132628.00,01,11,2023,00,00*76spstr t10.txt,t24.txt,",",4//截取年-存入到t24spstr t10.txt,t26.txt,",",3//截取月-存入到t26spstr t10.txt,t25.txt,",",2//截取日-存入到t25
}
if(t11.txt=="$GNRMC")
{substr t10.txt,t12.txt,7,6  //时分秒t23.txt=t12.txt//  spstr t10.txt,t12.txt,",",1    //以^为分隔符,截取第1个,t10为"030906.00"//  spstr t10.txt,t13.txt,",",9    //日-月-年,"311023,"//  substr t13.txt,t24.txt,4,2//截取年23存入到t24//  substr t13.txt,t25.txt,0,2//截取日//  substr t13.txt,t26.txt,2,2//截取月spstr t10.txt,t17.txt,",",3    //纬度格式 ddmm.mmmmm 2750.92061,N,spstr t10.txt,t16.txt,",",5//经度dddmm.mmmmm 11342.51677,E,0t14.txt="N"+t17.txt+"°"+" "+"E"+t16.txt+"°"//把文本t13.txt转为数字n0.valn0.val=0covx t23.txt,n0.val,2,0//获取时n0.val+=8//换算北京时间if(n0.val>24){n0.val-=24covx n5.val,t13.txt,2,0covx n6.val,t25.txt,2,0n6.val+=1covx t25.txt,n6.val,2,0}t28.txt=t24.txt+"-"+t26.txt+"-"+t25.txt//拼接年月日if(t28.txt!=t27.txt){t27.txt=t28.txt}covx n0.val,t22.txt,0,0substr t12.txt,t20.txt,2,2substr t12.txt,t21.txt,4,2t19.txt=t22.txt+":"+t20.txt+":"+t21.txt
}

📑GPS模块配置指令

printh B5 62 06 17 14 00 00 41 00 02 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 75 57 B5 62 06 17 00 00 1D 5D//配置NMEA协议4.1,接收BEIDOU信号
delay=10
printh B5 62 06 01 03 00 F0 08 01 03 20//使能打印$GNZDA
delay=10
printh B5 62 06 08 06 00 E8 03 01 00 01 00 01 39 B5 62 06 08 00 00 0E 30//GPS time 1000ms打印一次
delay=10
printh B5 62 06 01 03 00 F0 03 00 FD 15//不使能打印$GBGSV
delay=10
printh B5 62 06 01 03 00 F0 05 00 FF 19//不启用 GxVTG
  • 📜配置后的实际输出数据内容:
    在这里插入图片描述
  • 🔖上面的数据信息,其中放到屏幕显示上显示的,只有$GNRMC$GNZDA,如果全部解析放到屏幕上做动态显示,内容将更新十分频繁,其他的一些数据信息并不是想要的。

📚基于淘晶驰TJC4827T143_011C_I_P20创建的工程

链接:https://pan.baidu.com/s/1WW-dsk02kHM3smLPWhxJ_g 
提取码:s7jf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/156805.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chorme安装esay scholar及chrome 无法从该网站添加应用、扩展程序和用户脚本解决方案

问题描述 如题&#xff0c;博主想安装easy scholar用于查询论文的分区&#xff0c;结果安装了半天一直出现chrome 无法从该网站添加应用、扩展程序和用户脚本解决方案的问题。 解决方案 先从这个网址下载&#xff1a;https://www.easyscholar.cc/download 然后对下载好的文…

Linux进程概念(1)

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容为进程的概念做铺垫&#xff0c;主要介绍冯诺依曼体系结…

TCP 协议

文章目录 协议格式1面向连接:1.1三次握手&#xff08;建立连接&#xff09;1.2包序管理1.2四次挥手&#xff08;断开连接&#xff09; 2可靠传输:一。保证数据可靠有序的到达对端:确认应答机制超时重传机制 二。提高传输效率:1.提升自身发送数据量滑动窗口机制 rwnd滑动窗口丢包…

ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南续篇

作者&#xff1a;运维有术 前言 知识点 定级&#xff1a;入门级KubeKey 安装部署 ARM 版 KubeSphere 和 KubernetesARM 版 KubeSphere 和 Kubernetes 常见问题 实战服务器配置 (个人云上测试服务器) 主机名IPCPU内存系统盘数据盘用途ks-master-1172.16.33.1661650200KubeSp…

PostGIS轨迹分析——简化轨迹

需求 对轨迹线进行简化,并将原始轨迹上的两个特征点拉取到简化后的轨迹上 简化线 红色线是简化后的轨迹线,蓝色线是原始轨迹,有两个特征点 知识点: st_makeline函数将点连成线st_simplify简化线函数,其中第二个参数为坐标系的单位,0.002度大概代表0.002x1.11x10^5≈22…

[ACTF2023]复现

MDH 源题&#xff1a; from hashlib import sha256 from secret import flagr 128 c 96 p 308955606868885551120230861462612873078105583047156930179459717798715109629 Fp GF(p)def gen():a1 random_matrix(Fp, r, c)a2 random_matrix(Fp, r, c)A a1 * a2.Treturn…

做好这4点,面试嘎嘎猛~

作者 | 磊哥 来源 | Java中文社群&#xff08;ID&#xff1a;javacn666&#xff09; 转载请联系授权&#xff08;微信ID&#xff1a;GG_Stone&#xff09; 面试实际上是“自我推销”的过程&#xff0c;你需要在短时间内打动面试官&#xff0c;并让面试官高薪留用你&#xff0c;…

损坏的视频不能观看,还能修复吗?

3-1 在日常的生活或者工作中&#xff0c;特别是做摄像工作的人&#xff0c;有一定的概率会遇到损坏的视频文件&#xff0c;比如相机突然断电、无人机炸机等&#xff0c;都有可能导致保存的视频文件损坏。 如果遇到这种情况&#xff0c;该如何修复这种损坏的视频文件&#xff…

MTK联发科天玑9000旗舰5G移动平台处理器_MT6983芯片定制开发

MT6983天玑9000采用台积电4纳米工艺制程&#xff0c;CPU采用“134”三丛集Armv9架构&#xff0c;APU性能提升&#xff0c;ISP处理速度提升&#xff0c;最高支持3.2亿像素摄像头&#xff0c;采用Mali-G710十核GPU&#xff0c;搭载R16 5G调制解调器。 MT6983天玑9000芯片基本概…

C++快餐——C++11(3)

应该在脖子上长一个自己的脑袋 文章目录 function包装器bind绑定普通函数绑定成员函数std::bind优点 线程库thread类创建线程线程管理线程标识 原子性操作库(atomic)lock_guard与unique_lockstd::lock_guardstd::unique_lock mutex的种类总结 function包装器 C11引入了一个名为…

SSL数字证书服务

SSL/TLS 证书允许Web浏览器使用安全套接字层/传输层安全 (SSL/TLS) 协议识别并建立与网站的加密网络连接。 SSL数字证书主要功能 SSL证书在浏览器或用户计算机与服务器或网站之间建立加密连接。这种连接可以保护传输中的敏感数据免遭非授权方的拦截&#xff0c;从而使在线交易…

菜单管理中icon图标回显

<el-table-column prop"icon" label"图标" show-overflow-tooltip algin"center"><template v-slot"{ row }"><el-icon :class"row.icon"></el-icon></template></el-table-column>