Timeout-Fehler bei Datenerfassung beheben

Für mein Projekt empfängt die serielle Schnittstelle Messdaten von einem Infrarot-Lesekopf mit folgender Konfiguration: 300 Bit pro 8 Datenbits, 1 Stoppbit, keine Parität. Mit älteren Laptops (Intel 386/486) und Windows 3.11 oder 95 war das kein Problem. Bei neueren Notebooks mit Pentium 300 und Windows 98 erhalte ich nach kurzer Zeit einen Timeout-Fehler. Die Einstellungen der Schnittstelle sind gleich, das Erfassungsprogramm verlangt zusätzlich das Abschalten der FIFO- Puffer. Wo liegt der Fehler?

Ein Timeout-Fehler bedeutet, dass die Schnittstelle zu lange auf Daten warten muss. Im Gegensatz zur Geschwindigkeit und zu den anderen angegebenen Parametern der seriellen Schnittstelle steuert das Betriebssystem die Timeout-Zeit nicht. Diese Aufgabe übernimmt meist entsprechende Software. Auch bei anderen Anwendungen, die auf die serielle Schnittstelle zugreifen, konfigurieren Sie das Timeout in der Software, etwa bei Kommunikations-Anwendungen.

Das erkennen Sie auch daran, dass der FIFO-Speicher der seriellen Schnittstelle deaktiviert sein muss. An dieser Stelle werden die Daten vor oder nach ihrem Transport über die serielle Verbindung zwischengespeichert. Ihr Programm erlaubt das allerdings nicht und fordert die vollständige Kontrolle des Datenflusses. Weil das Programm auf den alten Computern langsamer lief, hatte es wohl auch mehr Geduld beim Empfang der Daten.

Das bedeutet, Sie müssen in Ihrem Erfassungsprogramm selbst einstellen, wie lange es auf die Datenanforderung warten soll. Da diese Einstellung bisher nicht notwendig war, kann es durchaus sein, dass dies nicht per Befehl oder Dialog einzustellen ist. Möglicherweise ist eine INI-Datei mit diesen Parametern angelegt, oder Sie finden entsprechende Einstellungen in der Registry von Windows 98. Aufschluss darüber erhalten Sie entweder in der Dokumentation zum Programm oder direkt vom Programmierer.

Falls keine Einstellung des Timeout möglich ist, sollten Sie mit dem Programmierer der Software über eine Anpassung reden.