Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: RS422 Datensenden unter Windows7

  Alt 14. Aug 2020, 14:02
Ein Problem ist erstmal, dass WriteFile auf eine Serielle Schnittstelle nicht asynchron arbeiten kann. (kein Overlapped möglich) und besser auch nur innerhalb eines Thread behandelt werden sollte.
Da aber viele SerialPort-Komponenten asynchron arbeiten wollen, müssen sie es dann irgendwie (teilweise echt pervers) in einen eigenen Thread übergeben.


Wer wirklich zeitkritische Dinge machen will, sollte sich daher eine synchrone Komponente basteln.
Ich hab mir vor 'ner Weile etwas für einen FingerPrintReader gebaut, aber hatte noch keine Zeit das in eigenständige eine Komponente auszulagern.
(allerdings kann ich versprechen, dass es keine endlose Abwärtskompatibilität geben wird ... maximal bis XE3 ... eher neuer, so ab XE8 oder 10)



Willst dir 'nen CNC basteln?
Meine GUI hatte ich mal angefangen, aber viel gibt es noch nicht.
Allerdings nutze ich einen Arduino mit einem angepassten Grbl, um vom Computer halbwegs entkopelt zu sein und mit zeitkritischen Dingen keine Probleme zu haben.
Windows ist kein Echtzeitsystem und auch wenn es Ansätze gibt das zu beheben, will ich mich damit nicht befassen wollen.

Ich selbst habe aber keine Problme, egal ob zwischen den Zeichen oder Zeilen Pausen sind, da es im Grbl/Arduino einen Cache gibt, wo die nächsten Befehle bereits vorgeladen sind und somit Pausen ignoriert werden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (14. Aug 2020 um 14:54 Uhr)
  Mit Zitat antworten Zitat