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
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