PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe beim Source-Code-Problem für den GPS-Empfang



holzi
12.01.2008, 17:08
Moin, moin hier an alle,
ich habe mit dem folgenden Code ein Problem. Rufe ich diese Sub auf, bleibt das Programm bei "Input #2 , GpsDaten" einfach stehen. Sobald die IF-Bedingung erfüllt ist, gebe ich hier für die Suche der Fehlerquelle mittels Print den Wert A aus. Anschlissend hängt das Programm. Es sieht mir danach aus, dass das Input nicht in der Lage ist, die Daten von #2 anzunehmen.
Wenn diese Sub hingegen als reines Programm (nach den entsprechenden Änderungen) ausgeführt wird, ist alles OK, d.h. die GPS-Daten werden empfangen und über die serielle Schnittstelle ausgegeben.
Ich verstehe es nicht, dass das Programm als Sub nicht funktioniert.
--------------------------------------------------------------------------------------------------------------------

Sub GPS_EMPFANG()
Dim GpsDaten As String * 75
Dim A As Byte
Dim Typ As String * 5
Dim Gefunden As Byte
Dim Beginne As Integer

Open "Coma.3:4800,8,N,1,inverted" For Input As #2 ' Port A3 als Com öffnen fuer GPS-Empfang '
Open "Com1:9600,8,N,1" for Output As #1 ' COM 1 öffnen fuer RS232-Kommunikation '
Do
Do
A = Inkey(#2)
Print #1 , A;
If A = 36 Then
Print #1 , "Problem"; ' Ausgabe zur Fehlersuche
Input #2 , GpsDaten ' hier bleibt das Programm hängen
End IF
Typ = Mid(GpsDaten , 1 , 5)
Loop Until Typ = "GPRMC"
If Mid(GpsDaten , 18 , 1) = "V" Then
Print #1 , "No gps-satellite"
Else
Print #1 , Mid(GpsDaten , 1 , 75)
End If
Loop
Close #2
Close #1
End Sub
------------------------------------------------------------------------------------------------------------------------
Kennt hier jemand das Problem und kann mir einen Tip geben.

mfg Peter