Forum: PC-Programmierung Per C Drucker an Parallelport unter Linux reseten


von Markus S. (scma)


Lesenswert?

Hallo,

ich möchte unter Linux meinen am Parallelport angeschlossenen 
POS-Drucker reseten.
Der Druck auf dem Drucker und die Ausgabe des Statusregisters 
funktionieren soweit, allerdings weiß ich momentan nicht, wie ich den 
Reset hin bekommen kann.
Ich glaube, dass ich aus der Header-Datei parport.h den dort definierten 
Wert PARPORT_CONTROL_INIT verwenden muss. Aber wie?
Danke schon mal vielmals im Voraus.

Gruß
Markus

von Tom (Gast)


Lesenswert?

@scma,

etwas mehr Informationen bitte.

Tom

von Markus S. (scma)


Lesenswert?

An dem Parallelport hängt ein Kassendrucker, der direkt angesteuert 
wird.
So kann ich zum Beispiel über folgenden Code das Statusregister des 
Parallelports auslesen und abfragen, ob das Papier zu Ende ist:
1
    //Parallelport-Status auslesen
2
    if( ioctl( i_file_descriptor, PPRSTATUS, &i_port_status )==-1 )
3
    {
4
        fprintf(stderr, ": Auslesen des Statusregisters fehlgeschlagen.\n");
5
    }
6
7
    //einzelne Bits abfragen
8
    if( (i_port_status&PARPORT_STATUS_PAPEROUT)==PARPORT_STATUS_PAPEROUT )
9
    {
10
        statPaperEnd = 1;
11
    }

Ab und zu bleibt aber der Drucker hängen. Es gibt aber beim Parallelport 
die Möglichkeit, per RESET-Bit den Drucker zu reseten.
Und da würde ich gern wissen, mit welchem Befehl ich das machen kann, 
bzw. wie der Befehl aussehen muss.
Ich glaube auch per ioctl, aber mit welchen Werten?
Oder, falls ich das jetzt falsch verstanden haben sollte, welche 
weiteren Informationen werden benötigt?

von *.* (Gast)


Lesenswert?

Den Init-Draht der Schnittstelle mal kurz einschalten?

von Tom (Gast)


Lesenswert?

auf die harte Tour geht es wahrscheinlich mit der Kombination aus "rmmod 
lp" und "insmod lp".

Schau mal hier:
http://www.lamepage.de/hardware/lcdmodule/lowkal/index_de.html

Gruss,
Tom

von Freak (Gast)


Lesenswert?


von Markus S. (scma)


Lesenswert?

Freak wrote:
> http://www.mikrocontroller.net/articles/Ports_benutzen_%28GCC%29

Besten dank. Das ist genau das, was ich gesucht habe.

Gruß
Markus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.