Re: Serielle Schnittstelle auslesen...
Verfasst: 04.09.2014 15:30
mal ganz ganz grob....
die Anzahl der Daten, die du auslesen möchtest, kannst du leicht variieren. Schau die mal: PeekS() und ReadSerialPortData() in der PB-Hilfe an, wenn du nicht sicher bist, was die einzelnen Parameter machen.
Wenn ich das richtig sehe, dann sieht dein Datenstrom ungefähr so aus: ..... 12.0011.9812.0212.0512.0011.94 .....
Wenn der Datenstrom so bleibt und immer 5 Bytes pro Wert gesenet werden, dann lässt es sich gut parsen.
Code: Alles auswählen
*DeinPuffer = AllocateMemory(1000000) ; 1 MB Speicher für die Daten reservieren
Anzahl_Bytes_im_Puffer.i = AvailableSerialPortInput(#SerialPort)
If (Anzahl_Bytes_im_Puffer > 0)
; alle verfügbaren Daten im COM-Eingangspuffer auslesen (Binär)
ReadSerialPortData(#SerialPort, *DeinPuffer, Anzahl_Bytes_im_Puffer)
; Die gelesenen Daten als String in die Variable schreiben
Deine_Daten$ = PeekS(*DeinPuffer, Anzahl_Bytes_im_Puffer, #PB_Ascii)
; ... Deine_Daten$ parsen ...
EndIf
Wenn ich das richtig sehe, dann sieht dein Datenstrom ungefähr so aus: ..... 12.0011.9812.0212.0512.0011.94 .....
Wenn der Datenstrom so bleibt und immer 5 Bytes pro Wert gesenet werden, dann lässt es sich gut parsen.