Forum: PC-Programmierung ParallelPort mit Java


von Mike M. (Gast)


Lesenswert?

Hallo Leute,

vieleicht kann mir jemand mal auf die Sprünge helfen:
Ich möchte gerne die 8 Datenports der parallelen Schnittstelle setzen 
(an/aus). Mit C und sogar unter Perl ist das irgendwie einfach. Nur  mit 
Java will mir das nicht so recht gelingen:

import gnu.io.CommPortIdentifier;
import java.io.OutputStreamWriter;
import java.util.Enumeration;

public class ParallelPort {

    public static void main(String[] args) throws Exception {
        boolean para = true;
        gnu.io.ParallelPort lpt1 = null;
        OutputStreamWriter out = null;
        Enumeration en = CommPortIdentifier.getPortIdentifiers();
        while (en.hasMoreElements()) {
            para = false;
            CommPortIdentifier cpi = (CommPortIdentifier) 
en.nextElement();
            if (cpi.getPortType() == CommPortIdentifier.PORT_PARALLEL) {
                System.out.println("cpi ist: "+cpi.getName());
                if (cpi.getName().equals("/dev/lp0")) {
                    try {
                        System.out.println("Parallel Port gestartet!");
                        lpt1 = (gnu.io.ParallelPort) cpi.open("blabla", 
1000);

                        out = new 
OutputStreamWriter(lpt1.getOutputStream());
                        int einByte = 0x01;
                        out.write(einByte);
                        lpt1.close();
                    } catch (Exception e) {
                        System.out.println("ERROR CODE:2 - Fehler beim 
Oeffnen des Parallel-Ports!");
                        System.err.println(e.toString());
                        System.exit(1);
                    }
                } else {
                    System.out.println("ERROR CODE:5 - Parallel Port 
heist nicht LPT1!!");
                }
            } else {
                System.out.println("ERROR CODE:6 - Kein Parallel Port 
vorhaden!!");
            }
        }

        if (para) {
            System.out.println("ERROR CODE:7 - Keinen Port gefunden!!");
        }
    }
}

Als BS kommt (nur) Linux in Frage. Hat jemand den entscheidenden Hinweis 
für mich? Hab dieses Beispiel der RXTX-Lib inzwischen so hinbekommen, 
das es compilierbar und startbar ist. Allerdings bleiben meine LED's an 
D0-D7 aus )-:

von TestX .. (xaos)


Lesenswert?

hast du die busy, strobe pins etc belegt ? mal ein oszi drangehalten ?

von Mike M. (Gast)


Lesenswert?

mh, busy hab ich auf GND gelegt, mehr aber nicht. Zumindest 
funktionierte es so mit einem kleinen C bzw. Perl-Programm. Oszi hab ich 
quasi keines (ausser das komische USB-Ding von Conrad) Welche Pins sollt 
ich noch auf GND bzw. gegen Vcc legen?

von Rici (Gast)


Lesenswert?

Ich hab praktisch das gleiche Problem!!

Gabs da damals ne Lösung?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Und unpraktisch? Etwas mehr Infos wären schonmal gut.
Unter Linux muss man auch noch beachten das man die passenden Rechte für 
den Port besitzt.

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.