jsp做的网站难吗,短网址赚钱平台,凡科做网站不要钱,seo最新技巧USART HMI串口屏GPS模块显示时间和经纬度 #x1f4cd;相关篇《基于u-box GPS模块通过串口指令调整输出信息》 #x1f4cb;在不使用其他单片机做数据中转处理情况下#xff0c;利用USART HMI串口屏主动解析模式#xff0c;来接收并解析GPS模块数据并显示#xff0c;功能包… 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 我这里配置GPSBEIDOU模式的话实际上操作的发送相关配置指令给GPS模块。 功能实现与代码逻辑
在主动解析模式下判断帧头和帧尾信息
if(usize0u[0]!0x24u[1]!0x47)//判断帧头$G
{udelete 1
}
if(usize2)
{usize2usize-1for(length0;lengthusize2;length){if(u[length]0x0du[length1]0x0a)//回车换行 \r\n{totalLengthlength2ucopy 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.txtt12.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.txtNt17.txt° Et16.txt°//把文本t13.txt转为数字n0.valn0.val0covx t23.txt,n0.val,2,0//获取时n0.val8//换算北京时间if(n0.val24){n0.val-24covx n5.val,t13.txt,2,0covx n6.val,t25.txt,2,0n6.val1covx t25.txt,n6.val,2,0}t28.txtt24.txt-t26.txt-t25.txt//拼接年月日if(t28.txt!t27.txt){t27.txtt28.txt}covx n0.val,t22.txt,0,0substr t12.txt,t20.txt,2,2substr t12.txt,t21.txt,4,2t19.txtt22.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信号
delay10
printh B5 62 06 01 03 00 F0 08 01 03 20//使能打印$GNZDA
delay10
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打印一次
delay10
printh B5 62 06 01 03 00 F0 03 00 FD 15//不使能打印$GBGSV
delay10
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