SPI mittels C# am IOW56

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
suicided
Posts: 12
Joined: Mon Jul 14, 2008 4:43 pm

SPI mittels C# am IOW56

Post by suicided »

Hallo Forum,

momentan versuche ich die SPI-Schnittstelle des IOW56 mittels C# zu programmieren. Ich verwende dazu die Wrapper-Klasse aus diesem Thread. Mein Programm sieht (ausschnittsweise) so aus:

Code: Select all

rep[0] = 0x08; // ID für SPI
rep[1] = 0x01; // SPI enable
rep[2] = 0x00; // MSB first, CPOL=0, CPHA=0
rep[3] = 0x77; // 200 kHz
iowkit.IowKitWrite(devHandle, 1, rep, (uint)rep.Length);
rep[0] = 0x09; // ID für SPI-Data
rep[1] = 0x05; // 5 Bytes
rep[2] = 0x00; // kein DRDY, /SS nach der Übertragung nicht mehr aktiv
rep[3] = 0xAA;
rep[4] = 0xAA;
rep[5] = 0xAA;
rep[6] = 0xAA;
rep[7] = 0xAA;
iowkit.IowKitWrite(devHandle, 1, rep, (uint)rep.Length);
Es tut sich jedoch nichts. Noch nicht einmal /SS geht nach der Aktivierung der SPI-Schnitstelle auf HIGH.
Hat jemand 'ne Idee, wie man das mit C# machen kann? Ich bin mir nicht sicher, ob man die Spezialfunktionen überhaupt so ansprechen kann. (...noramles I/O geht ohne Probleme.)

Vielen Dank schon mal im vorraus.
mario
suicided
Posts: 12
Joined: Mon Jul 14, 2008 4:43 pm

Re: SPI mittels C# am IOW56

Post by suicided »

hmm... :-|

Wie es scheint, wird überhaupt nicht geschrieben.

Code: Select all

iowkit.IowKitWrite(devHandle, 1, rep, (uint)rep.Length);
gibt jedenfalls 0 zurück. ...und das passiert scheinbar grundsätzlich bei Verwendung von Pipe 1.
Hab ich was vergessen? ...oder übersehen?
suicided
Posts: 12
Joined: Mon Jul 14, 2008 4:43 pm

Re: SPI mittels C# am IOW56

Post by suicided »

Ich habs!

Der Report hatte (Asche auf mein Haupt) die falsche Größe. Ich hatte dem Array fälschlischerweise nur 63 Byte gegeben, gefordert sind aber 64.
Post Reply