Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Serial Port auswerten Kategorie: Programmierung Basic (von gast - 23.10.2006 14:13)
Als Antwort auf Re: Serial Port auswerten von Christoph - 23.10.2006 8:11

Hallo.

Viele Wege fĂĽhren nach Rom.

Gibt es in Deinem Test-String Ă?bertragungsfehler? Hab ein Fragezeichen reingepackt.
Das kann immer mal auftreten und erschwert die Auswertung. Wenn der Gesamtstring
eine konstante Länge hat, kannst Du auch auf diese Länge testen.

[CR][LF]+CMT:[?]"+436600000000?,"06/10/23,08:09:37+08",145,36,0,0,"+4366000000",145,4[CR]
[LF]Test[CR][LF]

Erstes ?: SPACE?
Zweites ?: AnfĂĽhrungszeichen statt Komma?

Mit [CR]=13 und [LF]=10 teste die folgenden Zeilen.
Wo liegt die Baudrate?

GruĂ?.


'test

Dim buffer(76) As Byte

Sub main()

Dim empfbuf(100) As Byte
Dim empf As Word
Dim i,k As Integer
Dim wahr As Byte

Serial_Init(0,SR_8BIT Or SR_1STOP Or SR_NO_PAR,SR_BD9600)
'Serial_Init_IRQ(0,buffer,60,10,SR_8BIT Or SR_1STOP Or SR_NO_PAR,SR_BD9600)


k=-1
Do While True
   empf=Serial_ReadExt(0)
   If empf<256 Then
       k=k+1
       If k>98 Then
        'Fehler
        'machwasmit1(empfbuf)
        For i=0 To 99
        empfbuf(i)=0
        Next
        k=0
       End If

       empfbuf(k)=empf

       If (k>5) And (empf=10) Then
          'Test auf "Test[13]"
          wahr = (empfbuf(k-1)=13) And (empfbuf(k-2)=116) And (empfbuf(k-3)=115) And
          (empfbuf(k-4)=101) And (empfbuf(k-5)=84)
          Msg_WriteInt(wahr)
          Msg_WriteChar(13)
          If wahr=1 Then
            'Test[13][10] gefunden
            Msg_WriteText(empfbuf)
            'machwasmit2(empfbuf)
            For i=0 To 99
            empfbuf(i)=0
            Next
            wahr=0
            k=-1
          End If
       End If

    End If 'empf<256
End While

End Sub



    Antwort schreiben


Antworten: