正文

可能是德文的解码GPS数据流的VB文章2005-09-30 13:32:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/5474.html

分享到:

' #Mandix Repository#***************************************************' * Programmer Name  : David Auche' * Web Site         : http://www.d2dsources.com' * E-Mail           : ' * Date             : 09/27/2004' **********************************************************************' * Comments         : Decoder un code NMEA envoyer par un GPS (a l'aide mscomm - rs232)' *' * Ce code permet de decoder les phrases recues par le GPS. Les ' * phrases sont sous forme de code NMEA (faut programmer votre GPS ' * sur mode NMEA).  On utilise le composant Mscomm de Microsoft ' * qui nous permet d'acquise les informations du GPS par le port RS232.' *' ********************************************************************** Private Sub Form_Load()   ' faut pas oubliez le paramétrage de Mscomm suivant le GPS utiliser   ' comme les propriétés MSComm1.CommPort = 1 : Mscomm1.Settings ="4800,n,8,1"    MSComm1.PortOpen = True 'ouvrir le port, dans mon cas le port numéro 1   Timer1.Interval = 2000    'Ici je donne la valeur 2000 pour l'intervalle  car les satellites envoient   'les phrases qui contient les informations chaque deux secondes,   'alors gardez cette valeur!!!End Sub Private Sub Timer1_Timer()   Decoder    ' on appel cette procédure chaque 2 secondesEnd Sub Public Sub Decoder()   Dim TmpChaine        As String   Dim i                As Integer    On Error Resume Next    TmpChaine = MSComm1.Input ' reçois les phrases envoyer par les satellites    i = InStr(TmpChaine, "GPRMC") ' chercher le départ de la phrase qui nous intéresse    Do While Len(TmpChaine) - i < 61 'Vérifier si la phrase n'arrive pas à la fin      On Error Resume Next       TmpChaine = TmpChaine & MSComm1.Input ' stocker la phrase    Loop    ' traiter la phrase et extrait les informations avec la fonction mid   Label1.Caption = Mid(TmpChaine, i + 6, 2) & ":" & Mid(TmpChaine, i + 8, 2) & ":" & Mid(TmpChaine, i + 10, 2)   Label2.Caption = "N " & Mid(TmpChaine, i + 15, 2) & "°" & Mid(TmpChaine, i + 17, 2) & "." & Mid(TmpChaine, i + 20, 2) & "'"   Label3.Caption = "E " & Mid(TmpChaine, i + 25, 3) & "°" & Mid(TmpChaine, i + 28, 2) & "." & Mid(TmpChaine, i + 31, 2) & "'"   Label4.Caption = Mid(TmpChaine, i + 48, 2) & "/" & Mid(TmpChaine, i + 50, 2) & "/" & Mid(TmpChaine, i + 52, 2)    'exemple:   '$GPRMC,022804.19,A,3301.5767,S,07131.1408,W,08.5,061.8,040101,06.,E*68   'label1 contient l'heure (Time): hh:mm:ss   'label2 contient la position par rapport au Nord : N ...°...'   'Label3 contient la position par rapport au East : E...°...'   'label4 contient Date : JJ/MM/AA   'il y a des autres informations dans cette phrase a traiter...End Sub

阅读(4834) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册