PPatrickFfm
Grünschnabel
Hey!
Habe ein kleines Problem beim Lesen am parallelen Port. Unten ein Code-Snippet von meiner Readfile-Funktion. Das Prob ist halt, dass ich keine vernünftigen Daten bekomme, wenn ich das Prog normal ausführe ... beim Debuggen - komischerweise - klappt's aber einwandfrei. Ich vermute es hängt irgendwie mit der Zeit zusammen, bis die zu lesenden Daten vom Interface "angekommen" sind. Weiß aber nicht wirklich, ob's daran liegt ...
Hat vielleicht einer von euch eine Idee? Oder liegt der Fehler irgendwo im Code? Muss ich noch irgendwas bedenken? Falls es an der "Zeit" liegt, wie am Besten lösen?
Danke für Eure Hilfe!
Bis denn.
Habe ein kleines Problem beim Lesen am parallelen Port. Unten ein Code-Snippet von meiner Readfile-Funktion. Das Prob ist halt, dass ich keine vernünftigen Daten bekomme, wenn ich das Prog normal ausführe ... beim Debuggen - komischerweise - klappt's aber einwandfrei. Ich vermute es hängt irgendwie mit der Zeit zusammen, bis die zu lesenden Daten vom Interface "angekommen" sind. Weiß aber nicht wirklich, ob's daran liegt ...
Hat vielleicht einer von euch eine Idee? Oder liegt der Fehler irgendwo im Code? Muss ich noch irgendwas bedenken? Falls es an der "Zeit" liegt, wie am Besten lösen?
Code:
int Com_Port :: Read_Comport (HANDLE DriverHandle, DWORD *BytesRead, DWORD BufferSize, void *Buffer)
{
COMSTAT Our_Comstat;
if ((DriverHandle == 0) || (DriverHandle == INVALID_HANDLE_VALUE)) {
return FALSE;
}
ClearCommError (DriverHandle, &Com_Errors, &Our_Comstat);
if (Our_Comstat.cbInQue > 0)
{
if (Our_Comstat.cbInQue > BufferSize)
{
BytesToRead = BufferSize;
}
else
{
BytesToRead = Our_Comstat.cbInQue;
}
if (!ReadFile (DriverHandle, Buffer, BytesToRead, BytesRead, NULL))
{
cout << "Read FAIL!\n";
}
}
else
{
*BytesRead = 0;
}
return TRUE;
}
Danke für Eure Hilfe!
Bis denn.