javax.comm und Parallele Schnittstelle (PIN für PIN)

Status
Nicht offen für weitere Antworten.

hever

Mitglied
Hallo zusammen,

Ich möchte über Java die Parallele Schnittstelle ansteuern.

Hierzu gibt es die Java Comm API:
http://java.sun.com/products/javacomm/index.jsp
http://java.sun.com/products/javacomm/javadocs/javax/comm/package-summary.html

(Diese API muss man sich erstmal herunterladen und installieren, steht alles in der Readme)


Zunächst habe ich die Parallele Schnittstelle gesucht und geöffnet:
Code:
 /** Searches and opens the Parallel-Port
     *  -1 - Not sucessfully (No Port was found)   
     *  -2 - Not sucessfully (Port is already in use)
     *   1 - Port sucessfully opened
     *
     *  (Port name and some IO-Parameters could be implemented)
     */
    public int Open() {
        //Gets "all" Ports in a List of them
        m_PortList = CommPortIdentifier.getPortIdentifiers();
        
        //Browses iterates list of Ports
        while( m_PortList.hasMoreElements() ) {
            //Gets one Port
            m_PortId = (CommPortIdentifier) m_PortList.nextElement();
            
            //Checks if selected Port is the Parallel-Port
            if( m_PortId.getPortType() == CommPortIdentifier.PORT_PARALLEL ) {
                
                try {
                    //Tries to get ownership of the Parallel-Port and opens it
                    m_ParalellPort = (ParallelPort) m_PortId.open("ParallelPortControl", 5000);
                    m_ParalellPort.setMode(m_ParalellPort.LPT_MODE_SPP);
                } catch( PortInUseException e) {
                    //Port is in use
                    return -2;
                } catch (UnsupportedCommOperationException e) {
                    return -2;
                }
                
                //Port sucessfully opened
                return 1;
            }
        }

Wie man erkennen kann habe ich den Modus auf LPT_MODE_SPP gesetzt.

Mein Problem ist nun aber, wie kann ich einzelne PINS an der Schnittstelle 1 oder 0 setzen?

Mein erster Versuch ging in diese Richtung:


Code:
try {
    outputStream = m_ParalellPort.getOutputStream();
} catch (IOException e) {}

try {
    outputStream.write((byte) 1);
} catch (IOException e) {}

Aber das funktioniert nicht. Ich weiß auch nicht wirklich welche bytes ich senden muss um die jeweiligen PINS anzusprechen. Ich hab ein Messgerät an die Schnittstelle angeschlossen, und das zeigt immer 1 an, ich hab auch einmal in einer schleife alle möglichen integer übergeben, aber das hat auch nix gebracht.

Hoffentlich hat jemand von euch eine IDee...

Danke im Vorraus
-hever-
 
W

www

Gast
Hab keine Ahnung,
mich interessiert nur, was steuerst du an mit
der Schnittstelle?
Gruß
 

hever

Mitglied
Hi,
ich möchte damit eine Ampelschaltung ansteuern. Ist ein Projekt für die FH.

Die Ampelsteuerung umfasst 4 Ampeln an einer Kreuzung.
2 Ampeln mit 6 LEDs für eine Hauptstraße
2 Ampeln mit 3 LEDs für eine Nebenstraße

Ich addressiere jede Ampel und jede LED sogesehen über einen Adressbus und setze den Zustand an oder aus.
Der Zustand wird dann mittels eines FlipFlops gespeichert.
(So komm ich mit den PINs hin) (Nebenbei gesagt bieten meine Elektrotechnik Kenntnisse auch derzeit nicht mehr ;). Ich möchts auch ganricht anders machen)

In Java werde ich dann eine Kreuzung simulieren, Verkehrsaufkommen, verschiedene Ampelphasen etc und die Schaltung gibt dann die jeweiligen zustände der Ampeln aus...

Jaa soo hab ich mir das gedacht ;)
Die Programmierung der Kreuzung wird einfach werden.
Problematisch ist aber zur Zeit halt nur diese doofe Parallele Schnittstelle. Ich muss es schaffen die Daten Pins einzeln anzusteuern.
 
K

klom

Gast
Also nur mit den normalen Mitteln des Java comm API ist es nicht möglich einzelne pins anzusteuern, weil es auf einer standardisierten Übertragung basiert. Allerdings gibt es verschiedene Projekte, die sich diesem Problem angenommen haben. Wenn jemand noch was anderes weiß, würd es mich auch interessieren!
 

L-ectron-X

Gesperrter Benutzer
Ohne eine entsprechende externe .dll-Datei wird das nicht funktionieren, da man mit Java nicht Hardware nah programmieren kann. Leider wurde die javax.comm-Api etwas halbherzig behandelt und bisher auch nicht weiterentwickelt, so dass solche Sachen in pure Java eben nicht möglich sind.
 

Grizzly

Top Contributor
L-ectron-X hat gesagt.:
[...]Leider wurde die javax.comm-Api etwas halbherzig behandelt und bisher auch nicht weiterentwickelt, so dass solche Sachen in pure Java eben nicht möglich sind.
Bisher nicht weiterentwickelt ist ja noch nett ausgedrückt. Im Klartext: Das Teil ist einfach steinalt. ;)
 

Stephan191

Aktives Mitglied
Hallo!

Also wir haben mal nen LaserAbstandssensor über die COM-Schnittstelle laufen lassen und konnten dabei die verschiedenen Pins mehr oder weniger direkt ansprechen. Zum Beispiel:

Code:
serialport = setDTR(true);

"serialport" ist ein Objekt der Klasse SerialPort!

DTR,CTS,DSR usw sind die Bezeichnungen für die einzelnen Pins. Hoffe das hilft dir irgendwie weiter.

Gruß Stephan
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
J javax.comm findet serielle ports nicht Allgemeine Java-Themen 2
E javax.comm: Suche eine open source Alternative zu rxtx Allgemeine Java-Themen 8
M Netbeans IDE und javax.comm 2.0 Allgemeine Java-Themen 4
O javax.comm ? Allgemeine Java-Themen 3
L javax.comm unter Linux Allgemeine Java-Themen 11
G javax.comm bzw serielle Schhnittstelle? Allgemeine Java-Themen 2
K javax.comm Problem beim starten aus .jar heraus Allgemeine Java-Themen 3
foobar Rxtx vs javax.comm Allgemeine Java-Themen 2
T Wo kann ich Javax.Comm Api Downloaden ? Allgemeine Java-Themen 6
S Javax.comm Probleme mit Ansteuerung eines 8051 EEPROMs Allgemeine Java-Themen 8
S RS232 mit javax.comm Allgemeine Java-Themen 5
S javax.comm unter Windows XP Allgemeine Java-Themen 2
schegga_B javax.crypto - Cipher Objekte - Sevice Provider matching? Allgemeine Java-Themen 1
schegga_B AES-Algorithmus in javax.crypto Allgemeine Java-Themen 3
C Probleme mit javax.mail.Session Allgemeine Java-Themen 8
jumichel Eclipse The package javax.mail is not accessible Allgemeine Java-Themen 3
T Erste Schritte mit javax.validation Allgemeine Java-Themen 5
severin_96 javax.crypto.IllegalBlockSizeException Allgemeine Java-Themen 7
pkm javax.script.ScriptEngineManager gibt mir keine Engine Allgemeine Java-Themen 4
C javax.mail.Message message.setreplyto() null setzen (keine replyto Adresse) Allgemeine Java-Themen 25
E javax.mail sene Type ändern Allgemeine Java-Themen 2
RalleYTN javax.vecmath Transformationsmatrix für LWJGL3 Allgemeine Java-Themen 2
U javax.mail.Folder.list() zeigt nicht alle Ordner Allgemeine Java-Themen 5
T javax.script (JavaScript): Nicht-JRE-Packages importieren/nutzen Allgemeine Java-Themen 4
buggy84 JavaX und win32comm.dll Allgemeine Java-Themen 3
N javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1] Allgemeine Java-Themen 3
Q javax.crypto.BadPaddingException - was ist das genau? Allgemeine Java-Themen 9
H Java Mail Fehlermeldung: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException Allgemeine Java-Themen 5
G Wie installiere ich javax-usb unter windows? Allgemeine Java-Themen 0
B Javax.Sound Problem (setMessage-Methode) Allgemeine Java-Themen 2
P javax.mail MessageCount Allgemeine Java-Themen 13
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
E NoClassDefFoundError: javax/microedition/io/Connection Allgemeine Java-Themen 2
B Eclipse [Ubuntu] Paket javax.media.* nicht gefunden Allgemeine Java-Themen 7
J package javax.servlet does not exist Allgemeine Java-Themen 5
T Wo ist javax.swing.TransferHandler enthalten? Allgemeine Java-Themen 10
M System.setProperty("javax.net.ssl.trustStore", "mykey.pkx"); Allgemeine Java-Themen 1
G javax.jms.IllegalStateException: This method. Allgemeine Java-Themen 4
L Fehlende Teile des javax Packages Allgemeine Java-Themen 3
P welche java version für javax.mail? Allgemeine Java-Themen 7
S Fehler bei der javax.usb api Allgemeine Java-Themen 2
reibi javax.crypto.SecretKey - Einfaches Beispiel gewünscht ;-) Allgemeine Java-Themen 2
T Exception at javax.swing.plaf.basic.BasicTableUI.paintCell Allgemeine Java-Themen 3
C [javax.mail] Betreff vergleichen Allgemeine Java-Themen 5
C [javax.mail] Folder not open Allgemeine Java-Themen 2
F Problem beim Drucken mit javax.print Allgemeine Java-Themen 2
M javax.mail – Sending failed – Invalid Addresses Allgemeine Java-Themen 8
N javax.security.sasl verzweifelt gesucht Allgemeine Java-Themen 2
P javax.sound: clip.stop(); Allgemeine Java-Themen 4
S comm API dowload ? und Installation? Allgemeine Java-Themen 4
G Comm API --> NoSuchPortException IN WINDOWS VISTA Allgemeine Java-Themen 2
Y Comm-API findet keine Ports Allgemeine Java-Themen 5
M Wie funktionieren parallele Java Streams? Allgemeine Java-Themen 1
S Threads Kann mir jemand helfen eine parallele Hilfsklasse zu implementieren..? Allgemeine Java-Themen 3
M Parallele Konzepte in Java Allgemeine Java-Themen 4
M Parallele Programmierung: volatile Variable nimmt ungewöhnlichen Wert an Allgemeine Java-Themen 3
C Open Soure Projekte für parallele Programmierung Allgemeine Java-Themen 6
B parallele / Multithreaded Iteration über Map Allgemeine Java-Themen 12
6 Java - Threads - parallele Programmierung - Tutorial Allgemeine Java-Themen 6
I parallele Programmierung mit Java Allgemeine Java-Themen 3
P Java 3D parallele Ebenen Allgemeine Java-Themen 4
S Programm für parallele bearbeitung Allgemeine Java-Themen 11
V Parallele Ausführung Allgemeine Java-Themen 8
A Parallele Threads oder verschachtelte? Allgemeine Java-Themen 7
T parallele Schnittstelle auslesen Allgemeine Java-Themen 5
H Zugriff auf parallele Schnittstelle Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben