Lazarus: Schnittstelle auslesen per Synaser und Daten anzeigen

Gast #4820780
Hallo Leute,

ich versuche verzweifelt mit dem Modul synaser die Daten der 
USB-Schnittstelle auszulesen und umzuwandeln. Soweit klappt alles, also 
die Kommunikation. Aber irgendwie doch nicht. Per Timer wollte jedes 
Byte einzeln auslesen und den Hex-Wert davon dann in einen String und 
diesen dann mit einem Memo anzeigen.
Aber ich scheitere schon beim auslesen.

Timer hat Intervall von 100

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  txt:=ser.RecvPacket(100);(Daten Byteweise lesen, 100 ms Wartezeit )
  label1.caption:=txt;
  Memo1.lines.add(inttostr(length(txt)));
end;

aber obwohl ich byteweise auslese, hat der String txt eine Länge 
zwischen 80-100 Zeichen. Das kann doch irgendwie nicht sein, oder? also 
muß ja "txt:=ser.RecvPacket(100); "  mehrfach aufgerufen werden und 
Label1.Caption und Memo1.line=länge vom String je nur 
einmal.........sollte ich es so lassen und einfach den String auswerten 
und umformatieren? Oder gibt es da noch eine bessere Möglichkeit für das 
Byte-Weise einlesen? Vielen Dank.
Gast #4820790
Hallo Manfred,

byte für byte müsste so gehen.

function RecvByte(timeout: integer): byte; virtual;

Waits until one data byte is received which is returned as the function 
result. If no data is received within the Timeout (in milliseconds) 
period, LastError is set to ErrTimeout.

ms

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.