Hallo ihr,
ich habe ein Problem und hoffe das ihr mir helfen könnt...
Ich lese mit einem TCP-Clienten von einem Server Daten aus und lasse die mir auf meinem Desktop-PC anzeigen, diese werden dann über die Serielle Schnittstelle über TxD über eine kleine Platine (nur zum Aufteilen der Daten) an Laptops geschickt.
Auf den Laptops habe ich Programme drauf, die diese Daten (bis jetzt nur 5 Bytes und ein Syncronisierungsbyte, später ca. 15 - 20 Bytes) einlesen und auswerten sollen.
Es sind drei Laptops an der Zahl, zwei mit 133Mhz (Toshiba Sattelite), 64MB-Ram und einer mit 266Mhz, 32MB-Ram (IBM-Thinkpad).
Auf allen dreien hab ich Win98 installiert.
Das Sendeprogramm auf meinem PC sendet ca. alle 200ms die Daten raus, die Laptops lesen alle 200ms die Daten ein (werden ja zwischengespeichert).
Nun ist es so, das auf meinem IBM-Thinkpad mit 650Mhz mein Prog die Daten passend ausließt und mir anzeigt (über die Port.dll), auf den anderen Laptops jedoch laufen die Daten so verzögert ein, das ich so damit nicht arbeiten kann...
Wo liegt jetzt das Problem?
Ich lese die Daten mittels des normalen Delphi-Timers aus, das dieser nicht genau läuft ist mir klar, könnte dieser so verzögert laufen, das das Prog deswegen so hängt?
Oder ist das auslesen mit ca. 200ms bei solch "langsamen" Laptops nicht möglich, oder vieleicht nur bei direktem auslesen?
Wie ihr seht, ich könnt mir mehrere Sachen vorstellen.
Senden und Empfangen wird im Prog übrigens mit 115200Baud.
Eine kleine Frage hänge ich auch mal noch dran, auch wenns manchmal nicht so erwünscht ist

:
Gibt es eine Möglichkeit mittels Port.dll oder einer anderen DLL den Dateneingang über RxD zu überwachen (sowas wie OnRead...) oder kann ich die nur mittels abgestimmter Zeiten abfragen?
Danke im Vorraus.