AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RS232 langasm

Ein Thema von tomkupitz · begonnen am 12. Sep 2017 · letzter Beitrag vom 13. Sep 2017
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.877 Beiträge
 
Delphi 12 Athens
 
#4

AW: RS232 langasm

  Alt 12. Sep 2017, 18:19
Zitat:
Die Länge mancher Antworten (auf ser. Befehle) ist unbekannt und ein #13 ist auch nicht vorhanden.

Wie kann ich solche Antworten möglichst schnell und vollständig abholen?
Garnicht?

Vollständig geht nur, wenn jemand weiß wie lang es ist.
Sei es eine bekannte/statische Länge, eine Längenangabe im Datenanfang (Längenbyte) oder eine Markierung für das Datenende (z.B. die #13).
Auf eine Sendepause kann man hier ja nicht sonderlich gut reagieren (außer man holt die Daten z.B. via Interrupt umgehen ab), um sie als Ende zu verwenden.



AsyncPro, TComPort usw. laden meistens in einem Thread im Hintergrund und machen dann intern auch nur ReadFile.
Liegt AsyncPro nicht auch im GetIt rum?

Wenn die Länge bekannt ist, dann ist ein direktes ReadFile mit der gewünschten Länge somit das Schnellste.
ReadFile kann auch Asynchron aufgerufen werden (siehe Overlapped) und man bekommt dann z.B. ein Event, wenn alle Daten da sind.

RS232 ist immer gleich schnell und du kannst dir sogar ausrechnen, wie lange es dauert.
Schneller geht es nur mit einer höheren Taktrate.

1 Startbit, 1 Stopbit, 8 Datenbits und keine Parität = 10 Bits pro Byte
Bei 9600 BAUD (in diesem Fall BitsProSekunde) = maximal 960 Byte pro Sekunde



Was heißt eigentlich langsam?

Die Daten werden zu langsam übertragen
oder es kommen nicht "durchgängig" Daten und ReadFile wartet manchmal länger, bis irgendwan Daten empfangen werden. (von irgendwem versendet)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 

 

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:55 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