Parallelport mit C++ (g++/gcc) ansprechen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
UsL
Beiträge: 59
Registriert: 23.09.2002 23:04:00

Parallelport mit C++ (g++/gcc) ansprechen

Beitrag von UsL » 01.11.2002 20:25:28

Welche fuktion macht das? Unter BorlandC++ wars outportb();
gibts irgendwo hilfe zu den funktionen so wie in Perl???
Danke schonmml.

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 01.11.2002 20:41:02

Hmm, normalerweise macht man sowas wie in UNIX üblich über die Device Files. Du kannst (wenn die Permissions des User reichen) einfach open(/dev/lp0) oder open(/dev/parport0) machen und dann mit read und write Daten senden oder empfangen...

Da ein parport nicht immer Daten hat musst Du wahrscheinlich noch mit select() arbeiten.

Direkter Hardware Zugriff (inportb und outportb bzw. inb und outb wie sie unter UNIX normalerweise heissen) darf nur root, und solche Zugriffe sollten vermieden werden. Normalerweise brauchen nur Treiber inb und outb

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

UsL
Beiträge: 59
Registriert: 23.09.2002 23:04:00

Beitrag von UsL » 01.11.2002 21:59:26

Gut dann mach ich dass über die deviacefiles ich muss übrigens nur schreiben.
Funktioniert das so wie bei outportb alsa dass ich eine hexzahl schreiber um jeweils einige der 8 bit an oder auszuschalten. Wie ist die syntax der Funktionen.
mfg UsL

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 01.11.2002 22:20:38

Du schreibst da rein, wie in eine Datei. Normalerweise baust Du Dir einefach einen Buffer (Array) mit den Daten, die Du schreiben willst, und schiebst den dann mit write() in das File. Was in dem Buffer drinsteht, oder wie Du den konstruierst ist egal. Du kannst also auch einfach HexZahlen ver-OR-en und die dann da reinschreiben. Du kannst auch grosse Blöcke auf einmal machen.

Was damit nicht geht, ist Parameter des Port zu ändern, Du kannst nur Daten auf den Port legen.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Antworten