这里只能和您说如何控制串口
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 4350
ClientLeft = 60
ClientTop = 345
ClientWidth = 7800
LinkTopic = "Form1"
ScaleHeight = 4350
ScaleWidth = 7800
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton cmdOpen
Caption = "Open"
Height = 315
Left = 4590
TabIndex = 4
Top = 3315
Width = 1230
End
Begin VB.CommandButton cmdSend
Caption = "Send"
Height = 330
Left = 5955
TabIndex = 2
Top = 3300
Width = 1245
End
Begin VB.ListBox ListRevive
Height = 1680
Left = 315
TabIndex = 1
Top = 1530
Width = 6900
End
Begin VB.TextBox txtSend
Height = 315
Left = 315
TabIndex = 0
Top = 795
Width = 4155
End
Begin MSCommLib.MSComm MSComm1
Left = 4920
Top = 630
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = -1 'True
End
Begin VB.Label lblSend
AutoSize = -1 'True
Caption = "Label1"
Height = 180
Left = 315
TabIndex = 3
Top = 1200
Width = 540
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub cmdOpen_Click()
MSComm1.CommPort = 1
MSComm1.InputMode = comInputModeBinary
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
MSComm1.RThreshold = 1
cmdOpen.Enabled = False
End SubPrivate Sub cmdSend_Click()
Dim OutByte() As Byte
Dim tmpstr As String
Dim i As Integer
If txtSend.Text = "" Then
MsgBox "请输入要发送的数据!", vbExclamation, "提示"
txtSend.SetFocus
End If
OutByte = StrConv(txtSend.Text, vbFromUnicode)
tmpstr = ""
For i = LBound(OutByte) To UBound(OutByte)
tmpstr = tmpstr & Hex(OutByte(i)) & " "
Next i
lblSend.Caption = tmpstr
MSComm1.Output = OutByte
End SubPrivate Sub Form_Unload(Cancel As Integer)
If MSComm1.PortOpen Then MSComm1.PortOpen = False
End SubPrivate Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEventBreak '收到中断讯号
Case comEventCDTO '
Case comEventCTSTO
Case comEventDSRTO
Case comEventFrame
Case comEventOverrun '数据遗失
Case comEventRxOver '接收缓冲区漫溢
Case comEventRxParity '极性错误
Case comEventTxFull '传送缓冲区漫溢
Case comEventDCB '未预期错误
Case comEvCD
Case comEvCTS
Case comEvDSR
Case comEvRing
Case comEvReceive '收到字符
Dim InByte() As Byte
Dim i As Integer
Dim buf As String
InByte = MSComm1.Input
buf = ""
For i = LBound(InByte) To UBound(InByte)
buf = buf & Hex(InByte(i)) & " "
Next i
ListRevive.AddItem buf
Case comEvSend
Case comEvEOF
End Select
End Sub
因为GPS的协议我不知道
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 4350
ClientLeft = 60
ClientTop = 345
ClientWidth = 7800
LinkTopic = "Form1"
ScaleHeight = 4350
ScaleWidth = 7800
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton cmdOpen
Caption = "Open"
Height = 315
Left = 4590
TabIndex = 4
Top = 3315
Width = 1230
End
Begin VB.CommandButton cmdSend
Caption = "Send"
Height = 330
Left = 5955
TabIndex = 2
Top = 3300
Width = 1245
End
Begin VB.ListBox ListRevive
Height = 1680
Left = 315
TabIndex = 1
Top = 1530
Width = 6900
End
Begin VB.TextBox txtSend
Height = 315
Left = 315
TabIndex = 0
Top = 795
Width = 4155
End
Begin MSCommLib.MSComm MSComm1
Left = 4920
Top = 630
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = -1 'True
End
Begin VB.Label lblSend
AutoSize = -1 'True
Caption = "Label1"
Height = 180
Left = 315
TabIndex = 3
Top = 1200
Width = 540
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub cmdOpen_Click()
MSComm1.CommPort = 1
MSComm1.InputMode = comInputModeBinary
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
MSComm1.RThreshold = 1
cmdOpen.Enabled = False
End SubPrivate Sub cmdSend_Click()
Dim OutByte() As Byte
Dim tmpstr As String
Dim i As Integer
If txtSend.Text = "" Then
MsgBox "请输入要发送的数据!", vbExclamation, "提示"
txtSend.SetFocus
End If
OutByte = StrConv(txtSend.Text, vbFromUnicode)
tmpstr = ""
For i = LBound(OutByte) To UBound(OutByte)
tmpstr = tmpstr & Hex(OutByte(i)) & " "
Next i
lblSend.Caption = tmpstr
MSComm1.Output = OutByte
End SubPrivate Sub Form_Unload(Cancel As Integer)
If MSComm1.PortOpen Then MSComm1.PortOpen = False
End SubPrivate Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEventBreak '收到中断讯号
Case comEventCDTO '
Case comEventCTSTO
Case comEventDSRTO
Case comEventFrame
Case comEventOverrun '数据遗失
Case comEventRxOver '接收缓冲区漫溢
Case comEventRxParity '极性错误
Case comEventTxFull '传送缓冲区漫溢
Case comEventDCB '未预期错误
Case comEvCD
Case comEvCTS
Case comEvDSR
Case comEvRing
Case comEvReceive '收到字符
Dim InByte() As Byte
Dim i As Integer
Dim buf As String
InByte = MSComm1.Input
buf = ""
For i = LBound(InByte) To UBound(InByte)
buf = buf & Hex(InByte(i)) & " "
Next i
ListRevive.AddItem buf
Case comEvSend
Case comEvEOF
End Select
End Sub
因为GPS的协议我不知道
BAS执行程序(中文DOS环境16位分区)
BAS源程序 (DOS环境16位分区)
Z80源程序
Koden Binnary数据格式的接收
BAS源程序 (DOS环境16位分区)
通用格式
GPS (windows 98环境执行)
GSU-25 ZODIACBinnary 1108信息的接收
哪一个
我下了程序了,很难读懂,全部是goto
你有没有文字性的东西啊?
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,317.0,T,320.6,M,000.0,N,000.0,K*4C
$GPRMC,013120,A,3446.577,N,11339.808,E,000.0,317.0,310701,003.6,W*68 (时间)
$GPZDA,013120,31,07,2001,,*4F (时间)
$PKODA,P,002.7,10,13,26,04,16,12,14,14,0147,M,000.0,N,320.6,035.9,7,8
$PKODG,1,1,01,-14,025,10,03,10,07,03,00,31,07,01
$PKODG,7,1,0,100
$GPGGA,013121,3446.577,N,11339.808,E,1,05,001,00147,M,-019,M,,*46
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,322.4,T,326.0,M,000.0,N,000.0,K*4E
$GPRMC,013121,A,3446.577,N,11339.808,E,000.0,322.4,310701,003.6,W*6B (时间)
$GPZDA,013121,31,07,2001,,*4E (时间)
$GPGSA,A,3,10,04,13,26,24,,,,,,,,02.7,01.7,*1A
$GPGSV,2,2,08,13,15,040,11,24,63,033,14,26,14,191,14,30,14,277,*7C
$GPGGA,013122,3446.577,N,11339.808,E,1,05,001,00147,M,-019,M,,*45
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,326.8,T,330.4,M,000.0,N,000.0,K*45
$GPRMC,013122,A,3446.577,N,11339.808,E,000.0,326.8,310701,003.6,W*60 (时间)
$GPZDA,013122,31,07,2001,,*4D (时间)
$PKODA,P,002.7,10,13,26,04,16,12,13,15,0147,M,000.0,N,330.4,036.0,7,8
$PKODG,1,1,02,-23,144,10,03,10,07,03,00,31,07,01
$PKODG,7,1,0,100
$GPGGA,013123,3446.577,N,11339.808,E,1,05,001,00147,M,-019,M,,*44
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,328.3,T,331.9,M,000.0,N,000.0,K*4C
$GPRMC,013123,A,3446.577,N,11339.808,E,000.0,328.3,310701,003.6,W*64 (时间)
$GPZDA,013123,31,07,2001,,*4C (时间)
$GPGSA,A,3,10,04,13,26,24,,,,,,,,02.7,01.7,*1A
$GPGSV,2,1,08,04,35,086,15,05,14,244,,06,19,316,,10,69,290,16*70
$GPGGA,013124,3446.577,N,11339.808,E,1,05,001,00147,M,-019,M,,*43
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,326.0,T,329.6,M,000.0,N,000.0,K*47
$GPRMC,013124,A,3446.577,N,11339.808,E,000.0,326.0,310701,003.6,W*6E (时间)
$GPZDA,013124,31,07,2001,,*4B (时间)
$PKODA,P,002.7,10,13,26,04,16,12,13,15,0147,M,000.0,N,329.6,036.0,7,8
$PKODG,1,1,03,-64,353,10,03,10,07,03,00,31,07,01
$PKODG,7,1,0,100
$GPGGA,013125,3446.577,N,11339.807,E,1,05,001,00147,M,-019,M,,*4D
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,327.7,T,331.3,M,000.0,N,000.0,K*4D
$GPRMC,013125,A,3446.577,N,11339.807,E,000.0,327.7,310701,003.6,W*66 (时间)
$GPZDA,013125,31,07,2001,,*4A (时间)
$GPGSA,A,3,10,04,13,26,24,,,,,,,,02.7,01.7,*1A
$GPGSV,2,2,08,13,15,040,12,24,63,033,14,26,14,191,13,30,14,277,*78
$GPGGA,013126,3446.577,N,11339.807,E,1,05,001,00146,M,-019,M,,*4F
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,328.8,T,332.4,M,000.0,N,000.0,K*49
$GPRMC,013126,A,3446.577,N,11339.807,E,000.0,328.8,310701,003.6,W*65 (时间)
$GPZDA,013126,31,07,2001,,*49 (时间)
$PKODA,P,002.7,10,13,26,04,16,13,13,15,0146,M,000.0,N,332.4,035.9,7,7
$PKODG,1,1,04,+35,086,10,03,10,07,03,00,31,07,01
$PKODG,7,1,0,100
$GPGGA,013127,3446.577,N,11339.807,E,1,05,001,00146,M,-019,M,,*4E
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,323.2,T,326.8,M,000.0,N,000.0,K*41
$GPRMC,013127,A,3446.577,N,11339.807,E,000.0,323.2,310701,003.6,W*65 (时间)
$GPZDA,013127,31,07,2001,,*48 (时间)
$GPGSA,A,3,10,04,13,26,24,,,,,,,,02.7,01.7,*1A
$GPGSV,2,1,08,04,35,086,15,05,14,244,,06,19,316,,10,69,290,16*70
$GPGGA,013128,3446.578,N,11339.807,E,1,05,001,00146,M,-019,M,,*4E
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,329.1,T,332.7,M,000.0,N,000.0,K*42
$GPRMC,013128,A,3446.578,N,11339.807,E,000.0,329.1,310701,003.6,W*6C (时间)
$GPZDA,013128,31,07,2001,,*47 (时间)
$PKODA,P,002.7,10,13,26,04,16,13,13,15,0146,M,000.0,N,332.7,035.9,8,7
$PKODG,1,1,05,+14,244,10,03,10,07,03,00,31,07,01
$PKODG,7,1,0,100
$GPGGA,013129,3446.578,N,11339.807,E,1,05,001,00146,M,-019,M,,*4F
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,325.9,T,329.5,M,000.0,N,000.0,K*4E
$GPRMC,013129,A,3446.578,N,11339.807,E,000.0,325.9,310701,003.6,W*69 (时间)
$GPZDA,013129,31,07,2001,,*46 (时间)
$GPGSA,A,3,10,04,13,26,24,,,,,,,,02.7,01.7,*1A
$GPGSV,2,2,08,13,15,040,13,24,63,033,14,26,14,191,13,30,14,277,*79
$GPGGA,013130,3446.578,N,11339.807,E,1,05,001,00146,M,-019,M,,*47
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,321.2,T,324.8,M,000.0,N,000.0,K*41
$GPRMC,013130,A,3446.578,N,11339.807,E,000.0,321.2,310701,003.6,W*6E (时间)
$GPZDA,013130,31,07,2001,,*4E (时间)
$PKODA,P,002.7,10,13,26,04,16,12,13,14,0146,M,000.0,N,324.8,036.0,8,7
$PKODG,1,1,06,+19,316,10,03,10,07,03,00,31,07,01
$PKODG,7,1,0,100
$GPGGA,013131,3446.578,N,11339.807,E,1,05,001,00145,M,-019,M,,*45
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,322.3,T,325.9,M,000.0,N,000.0,K*43
$GPRMC,013131,A,3446.578,N,11339.807,E,000.0,322.3,310701,003.6,W*6D (时间)
$GPZDA,013131,31,07,2001,,*4F (时间)
$GPGSA,A,3,10,04,13,26,24,,,,,,,,02.7,01.7,*1A
$GPGSV,2,1,08,04,34,087,13,05,14,244,,06,19,316,,10,69,290,16*76
$GPGGA,013132,3446.578,N,11339.807,E,1,05,001,00145,M,-019,M,,*46
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,317.4,T,321.0,M,000.0,N,000.0,K*4F
$GPRMC,013132,A,3446.578,N,11339.807,E,000.0,317.4,310701,003.6,W*6F (时间)
$GPZDA,013132,31,07,2001,,*4C (时间)
$PKODA,P,002.7,10,13,26,04,16,13,13,13,0145,M,000.0,N,321.0,036.0,8,7
$PKODG,1,1,07,+01,150,10,03,10,07,03,00,31,07,01
$PKODG,7,1,0,100
$GPGGA,013133,3446.578,N,11339.807,E,1,05,001,00145,M,-019,M,,*47
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,320.4,T,324.0,M,000.0,N,000.0,K*4E
$GPRMC,013133,A,3446.578,N,11339.807,E,000.0,320.4,310701,003.6,W*6A (时间)
$GPZDA,013133,31,07,2001,,*4D (时间)
$GPGSA,A,3,10,04,13,26,24,,,,,,,,02.7,01.7,*1A
$GPGSV,2,2,08,13,15,040,12,24,63,033,13,26,14,191,13,30,14,277,*7F
$GPGGA,013134,3446.578,N,11339.807,E,1,05,001,00145,M,-019,M,,*40
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,314.3,T,317.9,M,000.0,N,000.0,K*47
$GPRMC,013134,A,3446.578,N,11339.807,E,000.0,314.3,310701,003.6,W*6D (时间)
$GPZDA,013134,31,07,2001,,*4A (时间)
$PKODA,P,002.7,10,13,26,04,16,13,13,12,0145,M,000.0,N,317.9,036.0,8,7
$PKODG,1,1,08,+02,107,10,03,10,07,03,00,31,07,01
$PKODG,7,1,0,100
$GPGGA,013135,3446.578,N,11339.807,E,1,05,001,00145,M,-019,M,,*41
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,318.1,T,321.7,M,000.0,N,000.0,K*42
$GPRMC,013135,A,3446.578,N,11339.807,E,000.0,318.1,310701,003.6,W*62 (时间)
$GPZDA,013135,31,07,2001,,*4B (时间)
$GPGSA,A,3,10,04,13,26,24,,,,,,,,02.7,01.7,*1A
$GPGSV,2,1,08,04,34,087,12,05,14,244,,06,19,316,,10,69,290,16*77
$GPGGA,013136,3446.578,N,11339.807,E,1,05,001,00145,M,-019,M,,*42
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,315.6,T,319.2,M,000.0,N,000.1,K*47
$GPRMC,013136,A,3446.578,N,11339.807,E,000.0,315.6,310701,003.6,W*6B (时间)
$GPZDA,013136,31,07,2001,,*48 (时间)
$PKODA,P,002.7,10,13,26,04,16,12,14,12,0145,M,000.0,N,319.2,036.1,8,7
$PKODG,1,1,09,-20,213,10,03,10,07,03,00,31,07,01
$PKODG,7,1,0,100
$GPGGA,013137,3446.578,N,11339.807,E,1,05,001,00145,M,-019,M,,*43
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,321.0,T,324.6,M,000.0,N,000.1,K*4C
$GPRMC,013137,A,3446.578,N,11339.807,E,000.0,321.0,310701,003.6,W*6B (时间)
$GPZDA,013137,31,07,2001,,*49 (时间)
$GPGSA,A,3,10,04,13,26,24,,,,,,,,02.7,01.7,*1A
$GPGSV,2,2,08,13,15,040,13,24,63,033,14,26,14,191,14,30,14,277,*7E
$GPGGA,013138,3446.578,N,11339.807,E,1,05,001,00145,M,-019,M,,*4C
$GPGLL,3446.57,N,11339.80,E*6D
$GPVTG,323.3,T,326.9,M,000.0,N,000.1,K*40
$GPRMC,013138,A,3446.578,N,11339.807,E,000.0,323.3,310701,003.6,W*65 (时间)
$GPZDA,013138,31,07,2001,,*46 (时间)
$PKODA,P,002.7,10,13,26,04,16,11,13,12,0145,M,000.0,N,326.9,036.1,8,7
$PKODG,1,1,10,+69,290,10,03,10,07,03,00,31,07,01
$PKODG,7,1,0,100
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
变红还有几行
把程序全部复制进去,然后打开,
按Open开始接收Com1的数据把数据格式详细写清楚,上面的看不懂
save as 为new.frm
用vb打开
呵呵,从 COM 发送和获取数据的方法
我的例子已经给出
我想分析数据该没有什么问题了
等设备来了以后我想还应该有详细的数据格式
$GPRMC 代表GPS推荐的最短数据
204700 UTC_TIME 24小时制的标准时间,按照小时/分钟/秒的格式
A A 或者 V A表示数据"OK",V表示一个警告
3403.868 LAT 纬度值,精确到小数点前4位,后3位
N LAT_DIR N表示北纬,S表示南纬
11709.432 LON 经度值,精确到小数点前5位,后3位
W LON_DIR W表示西经,E表示东经如果当前没有和卫星取得联系,那么字符串的格式为:
$GPRMC,UTC_TIME,V,...
下面是一个例子:
$GPRMC,204149,V,,,,,,,170698,,*3A