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.