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.mzph.cn/news/127000.shtml

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

相关文章

k8s-调度约束

目录 工作机制 调度过程 指定调度节点 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点上面…

Linux 命令速查

Network ping ping -c 3 -i 0.01 127.0.0.1 # -c 指定次数 # -i 指定时间间隔 日志 一般存放位置&#xff1a; /var/log&#xff0c;包含&#xff1a;系统连接日志 进程统计 错误日志 常见日志文件说明 日志功能access-logweb服务访问日志acct/pacct用户命令btmp记录失…

打造中国汽车出海新名片,比亚迪亮相东京车展

作为全球知名的国际车展&#xff0c;东京车展向来都被业界人士誉为“亚洲汽车风向标”。2023年10月25日&#xff0c;第47届东京车展&#xff08;自2023年更名为“日本移动出行展”&#xff09;在东京国际展览中心如期揭幕。 作为中国车企的代表品牌&#xff0c;比亚迪携海豹、海…

8+双疾病+WGCNA+多机器学习筛选疾病的共同靶点并验证表达

今天给同学们分享一篇双疾病WGCNA多机器学习的生信文章“Shared diagnostic genes and potential mechanism between PCOS and recurrent implantation failure revealed by integrated transcriptomic analysis and machine learning”&#xff0c;这篇文章于2023年5月16日发表…

Springboot使用EasyExcel导入导出Excel文件

1&#xff0c;准备Excel文件和数据库表结果 2&#xff0c;导入代码 1&#xff0c;引入依赖 <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifac…

STM32—PWM开发SG90舵机

目录 PWM介绍 PWM输出模式&#xff1a; ​编辑PWM占空比&#xff1a; PWM周期与频率公式&#xff1a;​编辑 SG90舵机介绍 1. 什么是舵机 2. 怎么控制舵机 SG90舵机介绍实战 1. 在 SYS 选项里&#xff0c;将 Debug 设为 Serial Wire​编辑 2. 将 RCC 里的 HSE 设置为 …

代码随想录算法训练营第四十天丨 动态规划part03

343. 整数拆分 思路 看到这道题目&#xff0c;都会想拆成两个呢&#xff0c;还是三个呢&#xff0c;还是四个.... 来看一下如何使用动规来解决。 动态规划 动规五部曲&#xff0c;分析如下&#xff1a; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义 dp[i]…

JVM修炼印记之初识

文章目录 JVM认识JVM的功能常见JVMHotSpot的发展历程 JVM认识 Java虚拟机&#xff08;Java Virtual Machine&#xff0c;JVM&#xff09;是一个用于执行Java字节码的虚拟计算机。它是Java语言的核心&#xff0c;可以在不同的操作系统和硬件平台上运行Java程序。 JVM负责将Java…

【广州华锐互动】飞机诊断AR远程指导系统为工程师提供更多支持

随着科技的发展&#xff0c;飞机的维护工作也在不断进步。其中&#xff0c;AR&#xff08;增强现实&#xff09;技术的应用使得远程运维成为可能。本文将探讨AR在飞机诊断远程指导系统中的应用&#xff0c;以及它对未来航空维护模式的影响。 AR远程指导系统是一种使用增强现实技…

撕掉Hadoop标签,Cloudera未来可期吗?

Cloudera&#xff1a;大数据的弄潮儿 1、Cloudera发展史2、Cloudera问题出在哪里&#xff1f;3、参考文章 1、Cloudera发展史 说起Cloudera&#xff0c;就不得不提起Hadoop&#xff0c;Cloudera的过去就是Hadoop时代中的一个缩影。作为全球第一家也是最大一家Hadoop商业化公司&…

HarmonyOS鸿蒙原生应用开发设计- 隐私声明

HarmonyOS设计文档中&#xff0c;为大家提供了独特的隐私声明&#xff0c;开发者可以根据需要直接引用。 开发者直接使用官方提供的隐私声明内容&#xff0c;既可以符合HarmonyOS原生应用的开发上架运营规范&#xff0c;又可以防止使用别人的内容产生的侵权意外情况等&#xff…

[MySQL]——SQL预编译、动态sql

键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 一、SQL的预编译 &#x1f4d5;一条SQL语句的执行过程 &#x1f4d5;弊端 &#x1f4d5;预编译SQL的优势 &#x1f4d5;两种参数占位符 &#x1f4d5;小结 二、动态SQL &#x1f4d5;概念介绍&#xff1a; &#x1f4…

Opencv学习笔记(最近更新2023.11.1)

文章目录 棋盘格角点检测findChessboardCorners()亚像素角点检测cornerSubPix(&#xff09;棋盘格角点的绘制drawChessboardCorners()计算外参solvePnPRansac()旋转向量转旋转矩阵Rodrigues()鱼眼畸变矫正initUndistortRectifyMap()检测轮廓findContours()轮廓显示drawContours…

springboot2.x使用@RestControllerAdvice实现通用异常捕获

文章目录 demo地址实现效果引入基础类准备1.通用枚举与错误状态枚举2.定义通用返回结果3.自定义业务异常 统一异常捕获测试 demo地址 demo工程地址 实现效果 当我们输入1时&#xff0c;正常的返回通用的响应结果当我们输入2时&#xff0c;抛出异常&#xff0c;被捕获然后返回…

react-组件生命周期

一、生命周期阶段 官方文档&#xff1a;https://zh-hans.legacy.reactjs.org/docs/react-component.html React组件生命周期可分为三个阶段&#xff1a;挂载、更新、卸载 挂载&#xff1a;当组件实例被创建并插入 DOM 中时。其生命周期调用顺序如下&#xff1a; constructor()s…

【c++Leetcode】287. Find the Duplicate Number

问题入口 思想&#xff1a;Floyds Tortoise and Hare 这个算法除了可以检测是否有环&#xff08;问题入口&#xff09;&#xff0c;还可以用来检测重复数。当然这还需要一个慢指针才能实现。具体请点击标题跳转到原视频&#xff0c;这里是把内容再梳理一遍。如果有不对的地方…

Web自动化测试之图文验证码的解决方案

对于web应用程序来讲&#xff0c;处于安全性考虑&#xff0c;在登录的时候&#xff0c;都会设置验证码&#xff0c; 验证码的类型种类繁多&#xff0c;有图片中辨别数字字母的&#xff0c;有点击图片中指定的文字的&#xff0c;也有算术计算结果的&#xff0c;再复杂一点就是滑…

无测试组织:测试团队的敏捷转型

文章目录 写在前面01 从测试角度理解敏捷理念什么是敏捷&#xff1f;测试人员应该怎样理解敏捷理念&#xff1f;敏捷宣言对于测试活动的启发与思考总结如下敏捷原则12条敏捷实践框架为什么要做敏捷 02 什么是敏捷测试03 敏捷测试为什么会失败04 诊断脑暴会的成果示例测试团队转…

表格识别软件:科技革新引领行业先锋,颠覆性发展前景广阔

表格识别软件的兴起背景可以追溯到数字化和自动化处理的需求不断增加的时期。传统上&#xff0c;手动处理纸质表格是一项费时费力的工作&#xff0c;容易出现错误&#xff0c;效率低下。因此&#xff0c;开发出能够自动识别和提取表格数据的软件工具变得非常重要。 随着计算机…

使用 Python 进行自然语言处理第 5 部分:文本分类

一、说明 关于文本分类&#xff0c;文章已经很多&#xff0c;本文这里有实操代码&#xff0c;明确而清晰地表述这种过程&#xff0c;是实战工程师所可以参照和依赖的案例版本。 本文是 2023 年 1 月的 WomenWhoCode 数据科学跟踪活动提供的会议系列文章中的一篇。 之前的文章在…