【散100分】溜达溜达看看我的GPS代码··

sqz10200 2010-04-02 11:50:24
加精
我做的只是一个小DEMO
想大家看看这种思路OK不

配置Com口 这里我没简化写

Private Enum GroupState
GroupStart
GroupBody
GroupEnd
End Enum


MSComm1.Settings = "4800,n,8,1"
MSComm1.CommPort = 8
MSComm1.InBufferSize = 40
MSComm1.RThreshold = 1
MSComm1.InputLen = 1
MSComm1.InputMode = comInputModeText
MSComm1.PortOpen = True

这里是事件的具体代码 名字瞎起凑合看吧先

Private Static Sub MSComm1_OnComm()
Dim code As String
Dim up() As String
Dim eType As GroupState

Select Case MSComm1.CommEvent
' 判断MSComm1通信事件
Case comEvReceive
code = MSComm1.Input
If code = "$" Then
If foo <> "" Then
up = Split(foo, ",")
If up(0) = "$GPRMC" Then
Label3.Caption = up(3)
Label5.Caption = up(4)
Label4.Caption = up(5)
Label6.Caption = up(6)
'Command4.Caption = i
'i = i + 1
End If
foo = ""
End If

eType = GroupStart

End If
Select Case eType
Case GroupState.GroupStart
eType = GroupBody
foo = foo + code
Case GroupState.GroupBody
foo = foo + code
End Select
RichTextBox1.SelText = code
Case Else
End Select
End Sub


有一点我不太明白这里我是一个字符一个字符读进来的,但是他到了richtextbox里面怎么就换行了呢
我之前测试过以$符号为界限一行一行添加到数组中之后用vbcrlf来分隔没有问题
但是我在代码里面直接判断单个字符的时候就判断不出来。
所以我就直接写到了CommEvent事件里面了
我这么写可以不?
我是说老大看了之后不会说我没思想啊,这些吧。虽然实现了
我怕老大说我没啥思想,一味的实现,望高手指点。

解释:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11><CR><LF>
1) 标准定位时间(UTC time)格式:时时分分秒秒.秒秒秒(hhmmss.sss)。
2) 定位状态,A = 数据可用,V = 数据不可用。
3) 纬度,格式:度度分分.分分分分(ddmm.mmmm)。
4) 纬度区分,北半球(N)或南半球(S)。
5) 经度,格式:度度分分.分分分分。
6) 经度区分,东(E)半球或西(W)半球。
7) 相对位移速度, 0.0 至 1851.8 knots
8) 相对位移方向,000.0 至 359.9度。实际值。
9) 日期,格式:日日月月年年(ddmmyy)。
10) 磁极变量,000.0 至180.0。
11) 度数。
12) Checksum.(检查位)

真实数据:


$GPRMC,034719.193,V,4002.3872,N,11624.5600,E,,,020410,,,N*79
$GPVTG,,T,,M,,N,,K,N*2C
$GPGGA,034720.193,4002.3872,N,11624.5600,E,0,00,,149.3,M,-6.1,M,,0000*64
$GPRMC,034720.193,V,4002.3872,N,11624.5600,E,,,020410,,,N*73
$GPVTG,,T,,M,,N,,K,N*2C
$GPGGA,034721.193,4002.3872,N,11624.5600,E,0,00,,149.3,M,-6.1,M,,0000*65
$GPRMC,034721.193,V,4002.3872,N,11624.5600,E,,,020410,,,N*72
$GPVTG,,T,,M,,N,,K,N*2C

我就拿出了一小段。
...全文
1938 204 打赏 收藏 转发到动态 举报
写回复
用AI写文章
204 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjman1234 2012-09-22
  • 打赏
  • 举报
回复
溜达溜达进来逛逛。
hblkq845 2012-07-18
  • 打赏
  • 举报
回复
学习了 挺棒的!!!!
mezhe 2011-07-22
  • 打赏
  • 举报
回复
学习了,顶下!
小漫舞 2010-09-02
  • 打赏
  • 举报
回复
不太懂, 学习学习
szllb88 2010-08-26
  • 打赏
  • 举报
回复
( ^_^ )不错嘛
_______ _______
/\:::::/\ /\:::::/\
/::\:::/::\ /==\:::/::\
/::::\_/::::\ .--. /====\_/::::\
/_____/ \_____\-' .-.`-----' \_____\
\:::::\_/:::::/-. `-'.-----._/:::::/
\::::/:\::::/ `--' \::::/:\::::/
\::/:::\::/ \::/:::\::/
\/:::::\/ \/:::::\/
""""""" """""""
  • 打赏
  • 举报
回复
[Quote=引用 100 楼 lost_painting 的回复:]
引用 16 楼 myjian 的回复:
引用 6 楼 lyserver 的回复:
溜达溜达进来逛逛。
+1



+1
[/Quote]
+1
xuyuanyuan717818 2010-04-10
  • 打赏
  • 举报
回复
CAI
bingtao001 2010-04-10
  • 打赏
  • 举报
回复
不太懂哦哦
  • 打赏
  • 举报
回复
学习了。。。。。 jiefen
erxwu 2010-04-09
  • 打赏
  • 举报
回复
fffffffffffffffffffffffffffffffffffffff
学习风 2010-04-09
  • 打赏
  • 举报
回复
学习接分,+++++++++
furuiyong 2010-04-09
  • 打赏
  • 举报
回复
双手接分
vipboyvipboy 2010-04-09
  • 打赏
  • 举报
回复
高人啊...這種東東...難得見到..
destinyC 2010-04-09
  • 打赏
  • 举报
回复
好吧 我承认 我是进来拿分的
xiezechang 2010-04-09
  • 打赏
  • 举报
回复
娘咧 没看懂啊 有待提交~
fengzhongyou 2010-04-09
  • 打赏
  • 举报
回复
不错,虽然没有学习过。但斑竹既然 晒出来了。肯定是 好东西。谢谢
binghe1979 2010-04-09
  • 打赏
  • 举报
回复
xuexi
lujianwen 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 95 楼 diegoyu 的回复:]

支持,学习
[/Quote]
楼主学的是VB呀,都有好久没有接触了,不过还能看懂,呵呵!!!
w_y_k_ 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 97 楼 cntadw 的回复:]
路过,接分
[/Quote]
!!
Joe-xXx 2010-04-09
  • 打赏
  • 举报
回复
对于NMEA0183格式的数据时比较easy的
加载更多回复(183)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧