AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Probleme beim ComPort auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme beim ComPort auslesen

Ein Thema von Orko · begonnen am 14. Jun 2010 · letzter Beitrag vom 15. Jun 2010
Antwort Antwort
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Probleme beim ComPort auslesen

  Alt 15. Jun 2010, 10:44
Hi,

erst einmal würde ich das Sleep raus nehmen. Ich wüßte nicht, welchen Grund es dafür gibt.

Dann solltest du daran denken, dass auch mal nur ein Zeichen empfangen wird. Das heist nicht, dass dein Controller nur ein Zeichen sendet, sondern dass das Ereignis erst ein Zeichen liefert und dann das nächste oder den Rest.
Somit solltest du deine empfangenen Daten in einen "globalen" Zwischenspeicher puffern. Dann prüfen, ob darin mindestens erwartete Anzahl Zeichen enthalten sind, den betrefenden Part vorne rauskopieren und im Puffer löschen. Dann die Auswertung. Das alles idealer weise in entsprechende Methoden auslagern.

Ich denke, da stecken deine Probleme.

Gruß oki
42
  Mit Zitat antworten Zitat
LargoD

Registriert seit: 8. Jun 2007
42 Beiträge
 
#2

AW: Probleme beim ComPort auslesen

  Alt 15. Jun 2010, 13:37
Hallo Orko,

das RxChar Event liefert Dir ein oder mehrere Zeichen vom Mikrocontroller ab, das ist abhängig vom Timing des MC und von Deinen Timeout-Einstellungen für TComPort. Du müsstest Dir, wie Oki schreibt, den String selbst zusammensetzen und dann auswerten.
Da der MC anscheinend immer am Ende eines String $0d$0a sendet, gibt es eine einfachere Lösung.
TComPort bietet eine Paket-Erkennung an. Du kannst als Paket-Ende $D$A definieren und bekommst dann im OnPaket-Event genau den gewünschten String zurück. Sieh Dir das in der Doku oder im Beispiel von TComPort mal an, ist einfach und zuverlässig.

Gruß
Erich
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz