problem beim lesen

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
zorstn
Posts: 42
Joined: Tue Jan 23, 2007 4:37 pm

problem beim lesen

Post by zorstn »

bekomme zwar eine rückmeldung, aber erzeigt mir immer nur ein "Quadrat" an..
was mache ich falsch... ?

hier ausschnitte aus meinem code (c++)

IOWKIT_HANDLE p_ioHandle;
IOWKIT40_IO_REPORT report;
ULONG res, rc, numDevs;
DWORD bits;

rc = IowKitRead(p_ioHandle, IOW_PIPE_IO_PINS, (PCHAR)&report, IOWKIT40_IO_REPORT_SIZE);
if (rc==0) {
cout << "Didn't read, handle error!\n\n";
}

cout << report.Bytes[0];
cout << report.Bytes[1];
cout << report.Bytes[2];
cout << report.Bytes[3];
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Falsch ist hier die Annahme das die unaufbereitete Ausgabe von binaeren Daten auf die Konsole irgendwelchen Sinn macht.
zorstn
Posts: 42
Joined: Tue Jan 23, 2007 4:37 pm

Post by zorstn »

was heisst "unaufbereitet". ich dachte er gibt mir so den hexwert je byte zurück..
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Es werden Bytes zurueckgeliefert. Deine Vermutung das der << Operator daraus eine lesbare Hex-Darstellung macht ist falsch.
zorstn
Posts: 42
Joined: Tue Jan 23, 2007 4:37 pm

Post by zorstn »

ah, problem gebannt.

nochmal ne frage. bei report.Value werden die gesamten 5Bytes am Stück ausgegeben? ist das richtig? weil da so ne lange zahl erscheint.
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Value ist den Bytes ueberlagert. Das sind natuerlich nur vier.
Das ist nur eine Vereinfachung, falls man die vier Bytes als ein DWORD behandeln will. Es sind also die gleichen Daten nur in einen anderen Datentyp verpackt.
zorstn
Posts: 42
Joined: Tue Jan 23, 2007 4:37 pm

Post by zorstn »

okay vielen dank für die schnelle hilfe :)
Post Reply