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: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum