Du programmierst die serielle Schnittstelle im Direktzugriff? Warum (um Gottes Willen)?
Die
WinAPI bietet dir zum einen ordentliche Funktionen, welche auch einen Buffer zur Verfügung stellen sowie interrupt-driven arbeiten, damit ist die Systemlast deutlich geringer als dein Weg über das Polling. Auch hast du es deutlich einfacher, wenn du nur fragen musst: ist was da, und wenn ja, gib es mir.
Aber du musst dich ja nichtmal mit den
WinAPI Schnittstellen beschäftigen, es gibt genug Bibliotheken, welche dir einfach und sauber eine
API zu der seriellen Schnittstelle zur Verfügung stellen (auf Basis der
WinAPI). Nutze lieber diese (ich nenne mal 2)
ComPort
Turbo Power ASync Professional
Zu deinem Problem: Du pfuscht Windows damit dazwischen und daher kann keiner genau sagen wie sich Windows verhält, bzw. wann du wem wie dazwischen haust. Der direkte Hardwarezugriff ist nicht umsonst verboten worden...