IO-Warrior in Visual C# 2005

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
searcher
Posts: 2
Joined: Wed Aug 30, 2006 3:09 pm

IO-Warrior in Visual C# 2005

Post by searcher »

Hat schon jemand Erfahrung mit der Programierung in C#?
Ich kann die IO-Pins zwar gut auslesen, kann jedoch keine Daten senden.

byte[] byary = new byte[4];
byary[0] = 0xff;
byary[1] = 0xff;
byary[2] = 0xff;
byary[3] = 0xff;
err = IowKitWrite(ioHandle, 0, ref byary[0], byary.Length);

Eigentlich sollten nun alle Pins auf High gesetzt sein, aber alle haben ihren alten Zustand.
Die Länge der gesendeten Bytes ist NULL.
Der IO-Warrior war verbunden und IowKitRead funktioniert super.

Hoffe es kann mir jemand helfen.
wayoda
Posts: 362
Joined: Fri Dec 19, 2003 12:00 pm
Location: Wuppertal/Germany

Post by wayoda »

Hallo,
Der write-Befehl für einen IOWarrior40 erwartet auf der Pipe für die IO-Pins ingesamt 5 bytes im Report. Das erste Byte enthält die ReportId, die in deinem Fall (IO-Pins) immer 0x00 ist. (Vergl. Dokumentation der IowKit-Lib).

Folgendes sollte funktionieren:

Code: Select all

byte[] byary = new byte[5]; 
 byary[0] = 0x00;   //ReportId
 byary[1] = 0xff;   //Port 0-3
 byary[2] = 0xff; 
 byary[3] = 0xff; 
 byary[5] = 0xff;   
 err = IowKitWrite(ioHandle, 0, ref byary[0], byary.Length); 
 


Eberhard
searcher
Posts: 2
Joined: Wed Aug 30, 2006 3:09 pm

Post by searcher »

Vielen Dank, jetzt funktioniert es.
Post Reply