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