关于GPS数据招收处理部分
定义GPS类全局变量
Dim gpsRMC As New GPRMC
Dim gpsGSV As New GPGSV
Dim gpsGGA As New GPGGA
Dim gpsGSA As New GPGSA
Dim gpsRME As New GPRME
Dim gpsRMM As New GPRMM
在退出时,清理对象
Set gpsRMC = Nothing
Set gpsGSV = Nothing
Set gpsGGA = Nothing
Set gpsGSA = Nothing
Set gpsRME = Nothing
Set gpsRMM = Nothing
串口初始化属性为:
.Settings = "9600,N,8,1"
.InBufferSize = 512
.InputLen = 1
.RThreshold = 1
串口OnComm事件为
' OnComm 事件被用于捕获 communications 事件及错误。
Private Static Sub MSComm1_OnComm()
Dim val
If MSComm1.CommEvent = comEvReceive Then
val = MSComm1.Input
If Asc(val) = 10 Or Asc(val) = 13 Then
If MSComm1.Tag <> "" Then
txtTerm.Text = txtTerm.Text & MSComm1.Tag & vbNewLine
If Len(txtTerm.Text) > 3500 Then txtTerm.Text = Right(txtTerm.Text, 3500)
txtTerm.SelStart = Len(txtTerm.Text)
Select Case Mid(MSComm1.Tag, 1, 6)
Case "$GPGSV"
ParseGSV MSComm1.Tag
Case "$GPRMC"
gpsRMC.Sentence = MSComm1.Tag
Case "$GPGGA"
gpsGGA.Sentence = MSComm1.Tag
Case "$GPGSA"
gpsGSA.Sentence = MSComm1.Tag
Case "$PGRME"
gpsRME.Sentence = MSComm1.Tag
Case "$PGRMM"
gpsRMM.Sentence = MSComm1.Tag
End Select
MSComm1.Tag = ""
End If
Else
MSComm1.Tag = MSComm1.Tag & val
End If
End If
End Sub
本文介绍了一种通过串口接收并解析GPS数据的方法,包括设置串口参数、定义GPS数据对象以及实现OnComm事件来捕获通讯事件。针对不同类型GPS数据(如GPRMC、GPGGA等)进行了详细说明。
6339

被折叠的 条评论
为什么被折叠?



