Aussetzer bei der Kommunikation über die COM-Schnittstelle
-
hi,
ich hab ein tool geschrieben das über die rs232 daten empfängt. um das ganze zu testen hab ich ich noach nen gegentool geschrieben das alle x ms 2 bytes über die rs232 versendet.
mein problem ist nun das mein empfangsprogramm ca. alle 2 sec scheint einen aussetzer zu haben. dabei gehen mir in etwa 20% der gesendeten daten verloren.
ist bei euch irgend was bekannt wie ich das umgehen kann?
hier mal ein bischen code des senders:
hCom = CreateFile (port, GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0); ... TransmitCommChar(hCom, byte);
das handel wird nur einmal erzeugt TransmitCommChar(hCom, byte) rufe ich mit einem onTimer event auf. die aussetzer bekomm ich auch wenn ich mit 500ms versende.
und hier der empfänger:
hCom = CreateFile (port, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0); if(hCom == INVALID_HANDLE_VALUE) { ShowMessage( AnsiString( port ) + " konnte nicht geöffnet werden!" ); } while(1) { ReadFile(hCom, &InBuff, 1, &dwBytesRead, NULL); if(dwBytesRead) { DecodeByte(); } Application->ProcessMessages(); }