PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IO88 Befehlssatz


LLinux
02.06.2009, 02:13
Hallo @ all,
hab leider seit längerer Zeit Probleme mit dem Befehlssatz des IO88 Boards von ELV. Hab mir die Beiträge von Snake hier im Forum durchgelesen, die mir sehr geholfen haben. Allerdings scheiter ich daran einen Ausgang den ich angeschaltet habe wieder auszuschalten :/!

Beitrag von Snake71:
http://www.coding-board.de/board/showthread.php?t=18389

Anleitung von ELV:
http://www.elv-downloads.de/service/manuals/IO88/IO88_KM_020903.pdf

Laut der Beschreibung von ELV sollte es wie folgt funktionieren:
Setzen eines Ausgangs
Befehl: s
Parameter: Nummer des Ausgangs (0 - 7, 1 Byte),
Gewünschter Zustand (0 bzw. 1, 1 Byte)
Antwort: Ausgangszustand aller Ausgänge (1 Byte), ACK (1 Byte)Daraus ergibt sich folgender Code bei mir:

buffer[0]=0x02; //STX
buffer[1]=0x73; //Buchstabe 's'
buffer[2]=0x04; //Nummer des Ausgang
buffer[3]=0x00; //Gewünschter Zustand = 0 sprich aus...
buffer[4]=0x03; //ETX
Leider wird der Befehl von Interface nicht angenommen :( ... Sieht vielleicht irgendjemand was ich falsche mache...bin echt am verzweifeln

Also prinzipiell funktioniert soweit alles bis auf das ausschalten...also Fehler an der Elektronik können quasi ausgeschlossen werden.

Bin für jede Hilfe dankbar

Lg LLinux


LLinux
05.06.2009, 15:03
Der Fehler lag nicht am Befehl selber, sondern am restlichen Programcode.. :mauer:

write(fd,buffer,strlen(buffer));

Ich hatte 'strlen' eingesetzt, welches 0x00 als Ende im Array interpretiert..
Somit wurde nie der komplette Befehl gesendet und daher vom IO Board auch nicht verstanden...

Beitrag kann somit geclosed werden...

Vielen Dank an alle die sich dieses Beitrag durchgelesen haben..

Lg euer LLinux