这里只能和您说如何控制串口
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的协议我不知道

解决方案 »

  1.   

    如果我给你一个有关GPS网址,你能帮我看看GPS的协议吗?我不懂这些,可是我必须把校时器做好,所以只能在这里求助了。网址是:http:\\www.ureika.com.cn
      

  2.   

    Nmea-0183数据格式的接收   
     BAS执行程序(中文DOS环境16位分区) 
     BAS源程序 (DOS环境16位分区) 
     Z80源程序  
    Koden Binnary数据格式的接收   
     BAS源程序 (DOS环境16位分区) 
    通用格式   
     GPS (windows 98环境执行) 
    GSU-25 ZODIACBinnary 1108信息的接收 
    哪一个
      

  3.   

    我也不知道协议是哪一个呀你看看Nmea-0183数据格式的接收 吧
      

  4.   

    你都不知道?
    我下了程序了,很难读懂,全部是goto
    你有没有文字性的东西啊?
      

  5.   

    我的资料也很少,因为以前没有接触过。也是从那里下载了“GPS板输出的NMEA-0183格式的原始数据”,文本如下,分析发现后边带括号的行里带有系统时间信息,我就是要编程将这个时间抽取出来并与自己机器上的时间比较。可是,我不知道怎样从GPS中读取这些信息,这种数据又是怎样得到的???
    $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
      

  6.   

    还有,怎样才能连接到GPS系统上呢?否则,GPS的系统时间怎么得到呢?如果您能帮我,将有高分相赠
      

  7.   

    您运行我的程序,看看GPS有什么发送回来的?
      

  8.   

    你的代码不能运行呀,有好几行都变红了,是错误语句。Begin VB.Form Form1  提示没有语句结束Attribute VB_Name = "Form1"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = False
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = False
    变红还有几行
      

  9.   

    你把上面程序抓下来,然后新建一个文件new.frm(全空)用notepad哦
    把程序全部复制进去,然后打开,
    按Open开始接收Com1的数据把数据格式详细写清楚,上面的看不懂
      

  10.   

    用Notepad打开一个new.txt,然后全部复制代码进去,
    save as 为new.frm
    用vb打开
      

  11.   

    谢谢你这个工程如果要测试GSP返回值的话,必须有一个GSP设备,可是我还没有呢怎么办呢?还有别的办法吗?
      

  12.   

    还没有怎么测试啊。
    呵呵,从 COM 发送和获取数据的方法
    我的例子已经给出
    我想分析数据该没有什么问题了
    等设备来了以后我想还应该有详细的数据格式
      

  13.   

    $GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6E数据说明如下:
    $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