wie kann ich ein Lauflicht mit dem IOWarrior 40 erzeugen
Moderator: Guido Körber
wie kann ich ein Lauflicht mit dem IOWarrior 40 erzeugen
Hallo Leute, ich habe 'n kleines Problem. Ich muss ein Lauflicht für mein iowarrior 40 erzeugen. Ich weisst nur nicht wie ich auf den Port 3 ( wo die LEDs stehen ) zugreifen kann... ich meine mit welchem Befehl. Ist die Frage klar? Kann mir jemand da helfen? danke im Voraus.
make love, not war!
-
- Site Admin
- Posts: 2876
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
-
- Posts: 543
- Joined: Mon Dec 01, 2003 6:09 pm
Dan ist das Beispiel "samples\Simple IO\C" zustaendig.
Es ist ein VC6-Projekt, also sollte es kein Problem sein es zu oeffnen.
Das Beispiel enthaelt die Funktion WriteSimple, die darauf spezialisiert ist nur die LEDs der Starterkits anzusteuern. Es gibt eine Fallunterscheidung fuer IOW24 und IOW40, da die fuer LEDs direkt geeigneten Pins nicht an gleicher Stelle sitzen.
Das Beispiel steuert alle vorhandenen IO-Warrior an. Das sollte man auf einen vereinfachen.
Was man nun machen muss ist erst mal ein 0xFF schreiben, damit alle LEDs ausgehen. Nun schreibt man zeitgesteuert ein Byte mit jeweils einem Bit rueckgesetzt, denn eine 0 macht die LED an. Es werden also immer alle LEDs geschaltet, aber nur eine ist an.
Es ist ein VC6-Projekt, also sollte es kein Problem sein es zu oeffnen.
Das Beispiel enthaelt die Funktion WriteSimple, die darauf spezialisiert ist nur die LEDs der Starterkits anzusteuern. Es gibt eine Fallunterscheidung fuer IOW24 und IOW40, da die fuer LEDs direkt geeigneten Pins nicht an gleicher Stelle sitzen.
Das Beispiel steuert alle vorhandenen IO-Warrior an. Das sollte man auf einen vereinfachen.
Was man nun machen muss ist erst mal ein 0xFF schreiben, damit alle LEDs ausgehen. Nun schreibt man zeitgesteuert ein Byte mit jeweils einem Bit rueckgesetzt, denn eine 0 macht die LED an. Es werden also immer alle LEDs geschaltet, aber nur eine ist an.
Code: Select all
{
DWORD value;
int i;
// alle LEDs aus
val = 0xFF;
WriteSimple(IOW, val);
for (i = 0; i < 8; i++)
{
// dieser Ausdruck setzt nur das Bit i in 8 gesetzen Bits zurueck
val = 0xff & ~(1 shl i);
WriteSimple(IOW, val);
Sleep(50);
}