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.
--------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------Code: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







Zitieren

Lesezeichen