Hallo,
ich versuche gerade mal wieder mich durch die Funktionen des iOW zu kämpfen. Leider lassen meine programierkenntnisse da keine grossen Sprünge zu.
Ich benutze den IOW 40 für eine Tastaturmatrixabfrage, die tadellos funktioniert.
Zusätzlich will ich einen der noch freien Pins für das setzen eines Status nutzen. Mein Quellcode sieht auszugsweise folgendermassen aus:
char bright[1] = {0x00000000};
bytes = IowKitWrite(IowKitGetDeviceHandle(1), 0, bright, 1 );
sleep(4000);
char bright1[1] = {0xFFFFFFFF};
bytes = IowKitWrite(IowKitGetDeviceHandle(1), 0, bright1, 1 );
Leider passiert beim anschliessen an die Versuchsplatine nichts mit den LEDs, noch mit dem Pin an den ich einen Transistor angeschlossen habe
Wenn mir jemand einen Tip geben könnte wäre ich sehr dankbar
MFG
TOGA
setzen der ausgänge funktioniert nicht
Moderator: Guido Körber
Hallo,
ich probiere immernoch mein Glück, die Ports einzeln beschreiben zu können.
Wenn ich meinen Rückgabewert bytes auslese, dann zeigt er mir dort eine 0 an. Das heisst ja wohl, dass keine Daten zum IO40 gehen.
Wenn ich mit dem Befehl dlasterr = GetLastError(); den Errorcode aufrufe, gibt er mir eine 87 zurück.
Ich habe keine Quelle in der SDK gefunden, in der die Fehler beschrieben werden.
Wenn jemand einen Tip hat wär das toll.
Danke
Toga
ich probiere immernoch mein Glück, die Ports einzeln beschreiben zu können.
Wenn ich meinen Rückgabewert bytes auslese, dann zeigt er mir dort eine 0 an. Das heisst ja wohl, dass keine Daten zum IO40 gehen.
Wenn ich mit dem Befehl dlasterr = GetLastError(); den Errorcode aufrufe, gibt er mir eine 87 zurück.
Ich habe keine Quelle in der SDK gefunden, in der die Fehler beschrieben werden.
Wenn jemand einen Tip hat wär das toll.
Danke
Toga
-
- Site Admin
- Posts: 2876
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Das kann so nicht gehen. Erst mal wird da ein Long auf einen Char zugewiesen und dann wird als Reportlänge 1 angegeben.
Der Zugriff auf nur einen Port ist nicht möglich, es werden immer alle Ports auf einmal geschrieben. Windows hängt dann immer noch ein Byte für eine ReportID vorne an, auch wenn keine benutzt wird. Beim IOW40 kommt man also auf eine Reportlänge von 5.
Entsprechend gross muss auch der Buffer für die Daten ausgelegt werden.
Der Zugriff auf nur einen Port ist nicht möglich, es werden immer alle Ports auf einmal geschrieben. Windows hängt dann immer noch ein Byte für eine ReportID vorne an, auch wenn keine benutzt wird. Beim IOW40 kommt man also auf eine Reportlänge von 5.
Entsprechend gross muss auch der Buffer für die Daten ausgelegt werden.