老师 我下面代码 在计时器读取com1的GPS数据,有时会出现:
.NET Framework 版本:2.0.50727.5472
Foxtable 版本:2018.3.9.1
错误所在事件:窗口,GPS接收,TimerTick
详细错误信息:
索引超出了数组界限。
问题在哪里? 怎么处理?
Dim s As String
Dim COMStr As String = e.Form.Controls("ComboBox_com").value
s = Ports(COMStr).ReadExisting
If S.Length > 0 AndAlso S.Contains("$GPGGA") Then '判断是否含有 字符串 "$GPGGA"
S = S.Remove(0,S.IndexOf("$GPGGA"))
Else
Return
End If
Dim rs1() As String = s.Split(vbcrlf )
Dim rs_max,rs_long As Integer
rs_max = 20
rs_long = rs1.Length -1
If rs_max < rs1.Length Then
rs_long = rs_max
End If
For i As Integer = 0 To rs_long -1
Dim cs1() As String = rs1(i).Split(",")
If cs1.Length = 15 And cs1(0) = "$GPGGA" And cs1(6) = "1" Then
e.Form.Controls("TextBox_GPStxt").value = rs1(i)
e.Form.Controls("TextBox_gpsn").value = cs1(7) ' 卫星数
End If
Next