PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie Parallelport unter C ansteuern?



Physitux
27.09.03, 00:16
Hallo Forum,

auf einem Atari ST habe ich einmal eine Steuerung externer Hardware über den Parallelport in C realisiert. Dort gab es eine feste Hardwareadresse des Ports, bei der durch Setzen der entsprechenden Bits einzelne Pins auf High- oder Low-Potential gesetzt werden konnten.

Unter Linux habe ich in dieser Weise keinen direkten Zugriff auf die Hardware, nicht wahr? Wie muss ich vorgehen, um zum Beispiel Pin 2 ein- und den Rest auszuschalten? Reicht es, ein Byte mit dem gewünschten Bitmuster an /dev/lp0 zu senden? Wie würde das konkret aussehen?

Danke im Voraus für konkrete Lösungshinweise!

zander
27.09.03, 23:24
Du kannst entweder via inb/outb unmittelbar auf die SPP Register zugreifen (dazu sind entsprechende Rechte erforderlich, siehe dazu ioperm/iopl) oder den Linux parport Mechanismus, insbesondere ppdev nutzen; letzterer Methode sollte der Vorzug gegeben werden. Zum Thema Parallelport findet sich im Internet reichlich Dokumentation, empfehlenswert sind z.B. http://www.beyondlogic.org/spp/parallel.htm (dort gibt es auch rudimentäre Informationen zu EPP/ECP) und http://people.redhat.com/twaugh/parport/html/parportguide.html (an Linux parport hat sich seit Linux 2.3 nicht viel geändert).