Rs232 (ComPORT) unter Java

Status
Nicht offen für weitere Antworten.

jeroen

Mitglied
Hi,

ich möchte gern ein Programm schreiben das die Rs232 verwendet.
Ich hab dazu die JavaComm API runtergeladen und die comm.jar in das verzeichniss C:\Program Files (x86)\Java\jre1.6.0_05\lib kopiert.
Ich verwende die IDE Microsoft visuelle studio 2003.

Mein Code:

Code:
import javax.comm.*; 
import java.util.*; 


public class Test 
{ 
   public static void main(String[] args) 
   { 
      System.out.println("Hallo Welt!"); 

      SerialPort port = null; 
      try 
      { 
         port = (SerialPort) portId.open( 
            "name", // Name of the application asking for the port 
            10000   // Wait max. 10 sec. to acquire port 
            ); 
      } 
      catch(PortInUseException e) 
      { 
         System.err.println("Port already in use: " + e); 
         System.exit(1); 
      } 

   } 
}


Der Fehler ist Die Klasse 'SerialPort' kann nicht gefunden werden.
Hab ich irgendwas falsch eingebunden oder so ?
 

robochris

Aktives Mitglied
So weit ich gesehen habe, ist es besser RXTX zu verwenden.

Hier findet sich der Source für ein Beispielprogramm. Dort die Klasse RS232.

Gruß,
chris
 

jeroen

Mitglied
hi,

ich habe es jetzt auch mal mit der rxtx probiert.
der fehler ist immernoch der gleiche.

Die Klasse 'CommPortIdentifier' kann nicht gefunden werden
Die Klasse 'SerialPort' kann nicht gefunden werden

Muss ich bei Visuell Studio noch irgendwas angeben ?
 

robochris

Aktives Mitglied
Hast Du die Installationsanleitung auf der von mir geposteten Seite genau gelesen?
Hast Du die *gnu* anstatt die *.comm Klasse importiert?
 

jeroen

Mitglied
sry mein Programm zieht jetzt so aus:

Code:
package ConsoleApplication3;

import java.io.*;
import java.util.*;
import gnu.io.*;

/**
 * Zusammenfassung für Class1.
 */

public class Rs232 
{
	private static boolean debug = false;
		
	private boolean open;
	private CommPortIdentifier portId;
	private SerialPort sPort;
	private OutputStream os;
	private InputStream is;
	private int baud;
	    
	/**
	 * constructor
	 */
	public Rs232() 
	{
		baud=2400;
		open = false;
	}
	    
	public void setBaud (int speed) 
	{
		baud=speed;
	}	    
	/**
	 * open
	 */
	public void ports_available() 
	{
		// obtain a CommPortIdentifier object for the port you want to open
		Enumeration portList = CommPortIdentifier.getPortIdentifiers();
		while (portList.hasMoreElements()) 
		{
			portId = (CommPortIdentifier) portList.nextElement();
			System.out.println(portId.getName());
		}
	}
	public void open(String comPort) 
	{
		if(!isOpen()) 
		{
			// obtain a CommPortIdentifier object for the port you want to open
			Enumeration portList = CommPortIdentifier.getPortIdentifiers();
			while (portList.hasMoreElements()) 
			{
				portId = (CommPortIdentifier) portList.nextElement();
				//System.out.println(portId.getName());
				if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) 
				{
					if (portId.getName().equals(comPort)) break;
				}
			}
			// open the port represented by the CommPortIdentifier object
			try 
			{
				sPort = (SerialPort)portId.open("SerialConnection", 5000);
			} 
			catch (PortInUseException e) { System.out.println(e); }
			// set the parameters of the connection
			try 
			{
				sPort.setSerialPortParams(baud,
					SerialPort.DATABITS_8,
					SerialPort.STOPBITS_1,
					SerialPort.PARITY_NONE);
			} 
			catch(UnsupportedCommOperationException e) { System.out.println(e); }
			// open the input and output streams for the connection
			try 
			{
				os = sPort.getOutputStream();
				is = sPort.getInputStream();
			} 
			catch (IOException e) 
			{
				sPort.close();
				System.out.println(e); 
			}
			// set receive timeout to allow breaking out of polling loop during input handling
			try 
			{
				sPort.enableReceiveTimeout(30);
			} 
			catch(UnsupportedCommOperationException e) { System.out.println(e); }

			open = true;
		}
	}
	    
	/**
	 * close
	 */
	public void close() 
	{
		if(!open) return;
	    	
		// check to make sure sPort has reference to avoid a NPE.
		if(sPort != null) 
		{
			try 
			{
				// close the i/o streams.
				os.close();
				is.close();
			} 
			catch(IOException e) { System.out.println(e); }
			// close the port.
			sPort.close();
		}
		open = false;
	}
	/**
	 * write only one byte to port
	 */
	public void write(byte data) 
	{
		byte[] b=new byte[1];
			
		try 
		{
			b[0]=data;
			os.write(b);
			if(debug) System.out.printf("write: %02x", data);
		} 
		catch(IOException e) { System.out.println(e); }
	}	    

		
	/**
	 * write
	 */
	public void write(byte[] data) 
	{
		try 
		{
			os.write(data);
			if(debug) System.out.println("write: " + new String(data));
		} 
		catch(IOException e) { System.out.println(e); }
	}
	    
	/**
	 * write (string)
	 */
	public void write(String data) 
	{
		write(data.getBytes());
	}
	 
	public boolean hasReceived()
	{
		try
		{
			if(is.available()==0) return false;
			else return true;
		}
		catch(IOException e) 
		{ 
			System.err.println(e); 
			return false;
		}
	}

	/**
	 * read
	 */
	public byte readbyte() 
	{
		if(debug) System.out.println("readbyte");
	    	
		byte data = 0;
	        
		byte[] readBuffer = new byte[20];
	        
		try 
		{
			while (is.available() > 0) 
			{
				int numBytes = is.read(readBuffer);
			}
			data = readBuffer[1];
		} 
		catch(IOException e) { System.out.println(e); }
		return data;
	}
	/**
	 * read
	 */
	public String read() 
	{
		if(debug) System.out.println("read");
		String data = null;
	        
		byte[] readBuffer = new byte[20];
	        
		try 
		{
			while (is.available() > 0) 
			{
				int numBytes = is.read(readBuffer);
			}
			data = new String(readBuffer);
		} 
		catch(IOException e) { System.out.println(e); }
		return data;
	}
	    
	/**
	 * isOpen
	 */
	public boolean isOpen() 
	{
		return open;
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{
		// TODO Auto-generated method stub
		System.out.println("Test");
		open("com1");
			
	}
}
 

robochris

Aktives Mitglied
So wie es aussieht, hast Du ein Pfad-Problem. Er findet die Kommandos der RXTX Klasse nicht. Vermutlich hast Du sie in den falschen Pfad kopiert.
 

HoaX

Top Contributor
die datein nach lib/ext zu kopieren ist falsch, die haben da nix zu suchen. binde sie einfach ganz normal in deiner IDE oder wo auch immer in den classpath für dieses eine projekt ein
 

jeroen

Mitglied
die datein nach lib/ext zu kopieren ist falsch, die haben da nix zu suchen. binde sie einfach ganz normal in deiner IDE oder wo auch immer in den classpath für dieses eine projekt ein

daran liegt es wohl. Kannste bitte sagen was ich jetzt gnau machen muss.
 

robochris

Aktives Mitglied
In dem von mir geposteten Link steht doch einigermaßen genau, wo die Dateien hinmüssen, zumindest für die Verwendung mit der JRE.
 

HoaX

Top Contributor
importieren is da der falsche ausdruck, bei eclipse nimmt man die lib in den build path auf
 
G

Guest

Gast
so ich hab jetzt NetBean und Eclipse installiert.
NetBean hat problem mit mein x64 Betriebssystem. Aber mit Eclipse gehs.

Jetzt hab ich noch ne Frage: Hat jemand ein kleines Beispiel fürs senden und empfangen ?
Im Internet finde ich nur Beispiel die viel zu aufwendig sind.
 

jeroen

Mitglied
so habs selbst hin bekommen.

hab aber noch ne frage zu jigloo mit eclipse. Dort ist mein GUI fenster verschwunden (wievielleicht nur minimiert). wie bekomme ich das zurück ?
 

robochris

Aktives Mitglied
Benutzt Du eigentlich einen echten RS232 Port am Computer oder hast Du einen USB-Adapter?

Es könnte mögich sein, dass es mit einem echten RS232 Port Probleme beim Empfang wegen Handshake-Einstellungen gibt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
WPS1000 Input/Output Wie aktiviere ich den Daten Transfer von der RS232 in meine Java Applikation Java Basics - Anfänger-Themen 2
B RS232 - UnsatisfiedLinkError: no rxtxSerial Java Basics - Anfänger-Themen 17
T RS232/USB-Signale in Java weiterverarbeiten Java Basics - Anfänger-Themen 2
C Ansteuerung RS232 Schnittstelle Java Basics - Anfänger-Themen 15
N Rs232 an Laptop anschliessen und ansteuern Java Basics - Anfänger-Themen 11
J RxTx/RS232 Kommunikation (TwoWay) Java Basics - Anfänger-Themen 10
R Rxtx Rs232: I Can t send to the port Java Basics - Anfänger-Themen 5
R rxtx und RS232 Java Basics - Anfänger-Themen 2
A RS232 und Microcontroller - einige Fragen Java Basics - Anfänger-Themen 7
G RS232 Java Basics - Anfänger-Themen 2
W RS232: Daten empfangen,bearbeiten,ausgeben Java Basics - Anfänger-Themen 2
M Bitmuster eines Strings über RS232 senden Java Basics - Anfänger-Themen 5
G String zur RS232 senden und mit cr abschließen! Java Basics - Anfänger-Themen 4
G comport read Java Basics - Anfänger-Themen 3
J Datei über virtuellen Comport verschicken Java Basics - Anfänger-Themen 5
M Wo den Ordner javafx-sdk-21.0.2 unter Linux ablegen? Java Basics - Anfänger-Themen 5
E Audio Datei unter Bedingungen ausführen Java Basics - Anfänger-Themen 19
D Jar Datei startet unter Linux nicht Java Basics - Anfänger-Themen 3
U Beispiel Methode size() vom "Collection"-interface... Wie kann man sichtbar machen, was die Methode unter der Haube macht? Java Basics - Anfänger-Themen 8
nbergmann Umgebungsvariablen einstellen unter Windows 7 klappt nicht Java Basics - Anfänger-Themen 2
nbergmann Installation unter jdk.java.net: Keine ZIP-Datei zum entpacken Java Basics - Anfänger-Themen 2
thor_norsk Datentypen unter Java Java Basics - Anfänger-Themen 3
R Array mit Unter- und Obergrenze ganze Zahlen dazwischen erscheinen nicht Java Basics - Anfänger-Themen 1
U BestPractise für Deployment unter Windows gesucht Java Basics - Anfänger-Themen 12
W Random Zahl unter Berücksichtung eines Durchschnitts Java Basics - Anfänger-Themen 7
B Java Mail -> Mail senden, ist aber nich in IMAP unter "Gesendet" Java Basics - Anfänger-Themen 3
D Wert des Arrays unter Bedingungen ändern Java Basics - Anfänger-Themen 1
M Speichern unter. Java Basics - Anfänger-Themen 11
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
J ImagaIO funktioniert nicht unter Ubuntu Java Basics - Anfänger-Themen 23
E Knoten eines Baumes unter Bedinung zählen Java Basics - Anfänger-Themen 2
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
B Klassen Alle Unter-Objekte durchlaufen in der Hauptklasse Java Basics - Anfänger-Themen 10
F Console command unter Linux Java Basics - Anfänger-Themen 7
C GUI Programmierung unter Windows mit Java womit? Java Basics - Anfänger-Themen 11
D Einen Wert unter einen ActionListener weitergeben Java Basics - Anfänger-Themen 1
S Compiler-Fehler javac hat Probleme mit Paketen unter OSX Java Basics - Anfänger-Themen 2
N Eclipse - eigene Icons unter ClassPath Resource Java Basics - Anfänger-Themen 0
G Erste Schritte Unter Mac "Path" anpassen .bash_profile? Java Basics - Anfänger-Themen 5
C Java stellt unter Windows keine Umlaute dar Java Basics - Anfänger-Themen 9
J Ordner unter Windows Verstecken Java Basics - Anfänger-Themen 2
F Erste Schritte Unter Windows programmieren und dann auf Linux laufen lassen Java Basics - Anfänger-Themen 4
Z Gleiches Verzeichnis für class und java unter Windows Muss? Java Basics - Anfänger-Themen 11
Bluedaishi Dateien Lassen sich unter windows nicht löschen Java Basics - Anfänger-Themen 8
W Datei wird aus resources unter Windows nicht kopiert Java Basics - Anfänger-Themen 1
S Datei einlesen - Dateipfad unter Linux anpassen Java Basics - Anfänger-Themen 12
A Java IDE unter 400mb?? Java Basics - Anfänger-Themen 3
M JSF Projekt erstellen unter Eclipse Java Basics - Anfänger-Themen 7
A .jar unter Linux nutzen Java Basics - Anfänger-Themen 2
G Java unter Mac = schlecht | Windows = gut? Java Basics - Anfänger-Themen 14
M datei startet unter windows 7 nicht Java Basics - Anfänger-Themen 12
N .jar läuft nicht unter Windows 7 Starter Java Basics - Anfänger-Themen 4
F Exportieren als ausführbare Jar-Datei unter Ubuntu nicht möglich Java Basics - Anfänger-Themen 17
M in jTable schreiben unter Bedingung Java Basics - Anfänger-Themen 3
FrozeTee .java Dateien unter Windows 7 werden nicht angezeigt Java Basics - Anfänger-Themen 7
J Erste Schritte Speichern / Speichern unter / title Frame Java Basics - Anfänger-Themen 5
S Erste Schritte import für andere Klassenfiles verfügbar machen? (Java unter Eclipse) Java Basics - Anfänger-Themen 8
A Probleme mit JAR-Datei-Erstellung unter Eclipse Java Basics - Anfänger-Themen 23
S Umgebungsvariablen unter Windows XP Java Basics - Anfänger-Themen 6
S Classpath Libraries werden unter Linux nicht erkannt Java Basics - Anfänger-Themen 5
H speichern unter (JFileChooser) Java Basics - Anfänger-Themen 2
B Javadoc-Befehl unter Ubuntu Java Basics - Anfänger-Themen 2
Z Umgebungsvariable PATH-Umgebungsvariable unter Windows 7 Java Basics - Anfänger-Themen 27
V mehrfachvererbung unter interfaces Java Basics - Anfänger-Themen 10
Z [TrayIcon] Transparent unter Linux Java Basics - Anfänger-Themen 10
L Farbe unter Cursor bestimmen Java Basics - Anfänger-Themen 5
D Pfadangabe unter windows Java Basics - Anfänger-Themen 7
K kan 64Bit Version unter Win7Pro64 nicht installieren Java Basics - Anfänger-Themen 12
J File unter Linux Java Basics - Anfänger-Themen 8
J JDK installieren JRE unter Windows7 64bit Java Basics - Anfänger-Themen 8
C Mehrere Zeilen unter ~.showMessageDialog Java Basics - Anfänger-Themen 12
F getProperty() unter 64bit Java Basics - Anfänger-Themen 2
J Erstellte .jar unter 32 bit funktioniert nicht bei 64 bit Java Basics - Anfänger-Themen 4
G jar unter MeeGo installieren Java Basics - Anfänger-Themen 3
VfL_Freak Applikation läuft nicht unter Windows7 "platform not supported" Java Basics - Anfänger-Themen 15
R Programm gibt keine Reaktion unter Eclipse auf Mac Java Basics - Anfänger-Themen 13
I Java Programm unter Linux ausführen Java Basics - Anfänger-Themen 2
J Java Tool unter Windows ausführen Java Basics - Anfänger-Themen 8
H archive vergleichbarer Paramter unter Tag Object mit Parameter codetype="application/java-vm" Java Basics - Anfänger-Themen 3
C Windows Java unter Unix Java Basics - Anfänger-Themen 2
M Importieren von "IO.class" unter Eclipse Java Basics - Anfänger-Themen 4
G Problem mit einem Programm unter Win7 Java Basics - Anfänger-Themen 2
M Problem mit relativen Pfad unter Linux Java Basics - Anfänger-Themen 5
J Classpath bestimmen, unter Windows 7 Java Basics - Anfänger-Themen 2
S Random zahlen mit unter und obergrenze Java Basics - Anfänger-Themen 3
L Lucene Classpath unter linux setzen Java Basics - Anfänger-Themen 8
M Icons etc. werden unter Linux nicht gefunden Java Basics - Anfänger-Themen 6
C setResizable(false) unter NetBeans Java Basics - Anfänger-Themen 3
M Java einrichten unter Windows 7 Java Basics - Anfänger-Themen 12
C Wav-Sound nur unter Window Java Basics - Anfänger-Themen 5
B Classpath setzen - UNTER MAC OS X Java Basics - Anfänger-Themen 2
A 2 Monitore unter Java Java Basics - Anfänger-Themen 2
Y BufferdImage schreiben, unter Vista gehts, unter Ubuntu nicht... Java Basics - Anfänger-Themen 9
U Speichern unter button programmieren Java Basics - Anfänger-Themen 12
T Einfache Textausgabe .java unter OS X Java Basics - Anfänger-Themen 13
K Terminal Befehl mit Java unter Mac ausführen Java Basics - Anfänger-Themen 18
R .jar läuft nicht unter Linux Java Basics - Anfänger-Themen 11
D Class not found fehler beim ausführen unter konsole : / Java Basics - Anfänger-Themen 2
B Java Datei unter Solaris kompilieren Java Basics - Anfänger-Themen 2
T Drucken von Listen bestehend aus Grafik und Text (unter swing) Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben