Hallo Stefan,
eine serielle Schnittstelle kann auf zwei Arten benutzt werden. Die von dir eingesetzte Komponente behandelt die Schnittstelle wie eine Datei. Ein Lesebefehl blockiert dann deine Anwendung. In der Praxis werden serielle Schnittstellen eher über Interrupts gesteuert. Dabei signalisiert der verwendete Hardware-Baustein deinem Programm, dass ein Byte zur Abholung bereit steht. Auf diese Weise blockiert deine Anwendung nicht beim Lesen. Für diese Arbeitsweise brauchst du aber Komponenten, die sich auf die Interruptsteuerung verstehen. TurboPower Async Professional ist so eine Komponentensammlung und ist darüber hinaus auch noch freie Software:
klick
Freundliche Grüße vom marabu