Page 1 of 1

Parallelschnittstelle ansprechen

Posted: 15. Nov 2007 20:54
by bastelix
Hallo Leute,
Mein Ziel ist es, ein Script durch ein Ereignis aufzurufen und damit einen Schnittstellen-Pin im Spannungswert umzukippen, um ein Relais o.ä. anzusteuern.

Nun wurde ich fündig bei
http://eusterholz.dyndns.org/~linux/etc/relais-card.htm

Mit dem parallelport.c-Code

Code: Select all

#include <asm/io.h>
main&#40;int argc, char* argv&#91;&#93;&#41;
&#123;
        int base=atoi&#40;argv&#91;1&#93;&#41;;
        int value=atoi&#40;argv&#91;2&#93;&#41;;
        ioperm&#40;base,3,1&#41;;
        outb&#40;value,base&#41;;
        outb&#40;0,base+2&#41;;
        printf&#40;"%1/n",inb&#40;base+1&#41;&#41;;
        ioperm&#40;base,3,0&#41;;
&#125;;
übersetzt durch den Aufruf

Code: Select all

gcc -O2 -o parallelport parallelport.c
soll man mit Aufruf von
./parallelport 888 255 bzw. ./parallelport 888 0 die Signale an LPT1 auf high bzw. low schalten können.

Beim Übersetzen kam der Fehler:

Code: Select all

$ gcc -O2 -o parallelport parallelport.c
parallelport.c&#58; In function ‘main’&#58;
parallelport.c&#58;9&#58; warning&#58; incompatible implicit declaration of built-in function ‘printf’
und beim Aufruf den Progammes passiert auch nicht viel, d.h. keine Änderung des Signalpegels an den Ports.

Nur eine Ausgabe %1/n auf die Konsole:

Code: Select all

./parallelport 888 255
%1/n&#91;root@pc parallelport&#93;#
Hat jemand einen guten Tip diesen Code lauffähig zu bekommen oder einen anderen Code, Tip oder Lösung

Viele Grüße
bastelix

PS:
Stecker-Belegung gibts hier: http://www.henri.de/service/steckverbinder.htm

andre Loesung

Posted: 19. Nov 2007 18:16
by bastelix
So ich habe jetzt funktionierende, andere Lösungen gefunden.

Zuerst: nicht vergessen CUPS zu stoppen, sonst kommt Zahlenmurks heraus ;-)

Also bei sf.net fand ich folgende Programme, welche problemlos funktionieren:

Konsole:
- portatux http://sourceforge.net/projects/portatux/
- parashell http://sourceforge.net/projects/parashell/

GTK2-Tool, gut auch für Kontrolle:
LPTManager http://sourceforge.net/projects/lptman/

Grüße
bastelix