Com-Port auslesen.Probleme

Status
Nicht offen für weitere Antworten.

stetabar

Bekanntes Mitglied
Hallo zusammen,

also ich kann zwar mit dem Code der hier steht den Com-Port öffnen, aber bekomme es nicht hin, dass ich dieses Prog so umschreibe, dass ich es aus einem anderen heraus starte und die Daten übergebe...


Hauptklasse
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ForeCastServer extends JPanel implements ActionListener
{
	TextArea ausgabe = new TextArea("Port COM1 geöffnet\nBeginn Datensatz 1\n");
  	Icon header = new ImageIcon("xyz.jpg");
  	JLabel headerLabel = new JLabel ();
		
	public ForeCastServer()
	{
	      headerLabel.setBounds(10,10,171,120);
    	headerLabel.setIcon(header);
    	ausgabe.setBounds(50,150,700,400);
    	setBackground(Color.WHITE);
    	setLayout(null);
    	add(headerLabel);
    	add(ausgabe);
   		
   		Timer oneSec = new Timer(1000,this);
		oneSec.start();
		
	}
	
	public void paintComponent(Graphics g)
	{
		super.paintComponent(g);
	}
	
	
	public void actionPerformed(ActionEvent e)
	{
		//hier muss die ComMC gestartet werden und n wert ausgelesen werden und als returnwert zurückgelesen werden...

		ausgabe.setText("\n");//hier soll nachher das ausgelesene element eingetragen werden
		
	}
	
	public static void main(String arg[])
		throws InterruptedException {
		JFrame ServerFrame = new JFrame("ForeCastServer");
		ServerFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		ServerFrame.getContentPane().add(new ForeCastServer());
    	         ServerFrame.setResizable(false);
		ServerFrame.setSize(800,600);
		ServerFrame.setLocation(100,100);
		ServerFrame.setVisible(true);
	}
}

die klasse zum öffenen der schnittstelle
Code:
import java.io.*;
import javax.comm.*;
import java.awt.event.*;

public class ComMC
{
  static CommPortIdentifier portID; 
  InputStream ins;
  OutputStream out;
  static SerialPort serss;
  
  public ComMC() {
  	try {ins = serss.getInputStream();
         out = serss.getOutputStream(); 
         serss.addEventListener(new commListener());
    }
   catch (Exception e) { System.out.println("Fehler: "+e);}
    serss.notifyOnDataAvailable(true);
    try {serss.setSerialPortParams(19200,
                                   SerialPort.DATABITS_8,
                                   SerialPort.STOPBITS_1 ,
                                   SerialPort.PARITY_NONE);}
    catch (UnsupportedCommOperationException e) {}
  }

  public class sendeListener implements ActionListener
  {
  	
    public void actionPerformed(ActionEvent e){
      PrintWriter aus = new PrintWriter(out);
      aus.println("D"); 
      aus.flush();
      aus.close(); 
    }
    
  }

  
  public class commListener implements SerialPortEventListener{ 
  
  public void serialEvent(SerialPortEvent event) {
      if(event.getEventType()==SerialPortEvent.DATA_AVAILABLE){
        byte[] readBuffer = new byte[20];
        try {
          while (ins.available() > 0) {int numBytes = ins.read(readBuffer);}
          String nachricht = new String(readBuffer);
          
        } 
        catch (IOException e) {System.out.println("Fehler: "+e);}
      }
    }
  } 
  
}

was muss ich tun, damit ein wert übergeben wird?

hatte es schon versucht
Code:
String getDaten(){
  return nachricht;
}

mit einzubinden, aber klappt auch nich so recht...

jemand ne idee?

danke im voraus!
 

stetabar

Bekanntes Mitglied
hab mal was versucht, aber gibt ne NullPointerException...

hat jemand nen vorschlag?

mache jetzt mal schluss, bin etwas müde...;)
aber morgen in neuer frische...


Code:
import java.io.*;
import javax.comm.*;
import java.awt.event.*;

public class ComMC
{
  static CommPortIdentifier portID; 
  InputStream ins;
  OutputStream out;
  static SerialPort serss;
  static public String nachricht="ComMC";
  
 String getData(){
  	return nachricht;
  }
  
  public ComMC(){
  	new sendeListener(); 
    
  	try {ins = serss.getInputStream();
         out = serss.getOutputStream(); 
         serss.addEventListener(new commListener());
    }
    catch (Exception e) { System.out.println("Fehler: "+e);}
    serss.notifyOnDataAvailable(true);
    try {serss.setSerialPortParams(19200,
                                   SerialPort.DATABITS_8,
                                   SerialPort.STOPBITS_1 ,
                                   SerialPort.PARITY_NONE);}
    catch (UnsupportedCommOperationException e) {}
  }

  public class sendeListener implements ActionListener
  {
  	
    public void actionPerformed(ActionEvent e){
      PrintWriter aus = new PrintWriter(out);
      aus.println("D"); 
      aus.flush();
      aus.close(); 
    }
   
  }
  
  public class commListener implements SerialPortEventListener{ 
  
  public void serialEvent(SerialPortEvent event) {
      if(event.getEventType()==SerialPortEvent.DATA_AVAILABLE){
        byte[] readBuffer = new byte[20];
        try {
          while (ins.available() > 0) {int numBytes = ins.read(readBuffer);}
          String nachricht = new String(readBuffer);
          System.out.println(nachricht);
        } 
        catch (IOException e) {System.out.println("Fehler: "+e);}
      }
    }
  } 
  
}

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ForeCastServer extends JPanel implements ActionListener
{
	TextArea ausgabe = new TextArea("Port COM1 geöffnet\nBeginn Datensatz 1\n");
  	Icon header = new ImageIcon("xyz.jpg");
  	JLabel headerLabel = new JLabel ("");
	int timerCount=0;
	public String test;
		
	public ForeCastServer()
	{
		headerLabel.setBounds(10,10,171,120);
    	headerLabel.setIcon(header);
    	ausgabe.setBounds(50,150,700,400);
    	setBackground(Color.WHITE);
    	setLayout(null);
    	add(headerLabel);
    	add(ausgabe);
   		
   		Timer oneSec = new Timer(1000,this);
		oneSec.start();
		
	}
	
	public void paintComponent(Graphics g)
	{
		super.paintComponent(g);
	}
	
	
	public void actionPerformed(ActionEvent e)
	{
                  //Führt die ComMC aus, bzw sollte es...aber wenns alleine steht, kommt schon der Fehler
		ComMC MC = new ComMC();
		test=MC.getData();
		ausgabe.setText(test +"\n");
			
	}
	
	public static void main(String arg[])
		throws InterruptedException {
		JFrame ServerFrame = new JFrame("ForeCastServer");
		ServerFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		ServerFrame.getContentPane().add(new ForeCastServer());
    	ServerFrame.setResizable(false);
		ServerFrame.setSize(800,600);
		ServerFrame.setLocation(100,100);
		ServerFrame.setVisible(true);
	}
}

also weiß gerade echt nich, wo ich nach dem Fehler suchen soll...

vielleicht bin ich auch zu müde, aber antworten wären trotzdem hilfreich.

also besten dank!
 

stetabar

Bekanntes Mitglied
also es ist definitiv nicht die müdigkeit, sondern einfach unvermögen...

gerade habe ich es einmal geschafft, dass das der wert "MCCom" des Strings nachricht übergeben wurde,
allerdings auch wirklich nur der und keine ausgelesenen werte.

ich habe des vordefinierten wert gelöscht und jetzt kommt wieder die nullpointerexception...


echt keiner ne idee??
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Serielle Schnittstelle / COM-Port auslesen und die empfangenen Daten verarbeiten Allgemeine Java-Themen 1
Master3000 Java Port reset (Socket) Allgemeine Java-Themen 6
G Datei senden via Xmodem an Serial-Port Allgemeine Java-Themen 35
J Serial Port Daten empfangen Allgemeine Java-Themen 5
M den richtigen COM-Port finden Allgemeine Java-Themen 1
O Serial Port Daten als Tastaturanschlag senden Allgemeine Java-Themen 0
B Problem mit Virtuellem COM Port Allgemeine Java-Themen 1
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
A Serial Port abhören auf RX und TX Allgemeine Java-Themen 7
S RxTx - langsame Port suche Allgemeine Java-Themen 3
N Port festlegen für JXMapViewer Allgemeine Java-Themen 3
G java applet und com-port Allgemeine Java-Themen 7
J Port verwendung Allgemeine Java-Themen 13
J Receive eines Hex-Bytes über COM-Port Allgemeine Java-Themen 4
J String an Port senden Allgemeine Java-Themen 2
F Java <--> Serieller Port Allgemeine Java-Themen 3
M Richtigen COM-Port bestimmen Allgemeine Java-Themen 14
M Port-Tunneln Allgemeine Java-Themen 23
H Server Threaded machen. Port-Problem Frage Allgemeine Java-Themen 2
ARadauer Welches Programm hört auf Port? Allgemeine Java-Themen 3
B welchen port muss ich angeben? Allgemeine Java-Themen 11
P Linux port Allgemeine Java-Themen 4
K Java einen Port überwachen lassen Allgemeine Java-Themen 5
G Bibliothek für Port? Allgemeine Java-Themen 2
S Usb Port ansprechen Allgemeine Java-Themen 7
B EventListener zu einem COM Port hinzufügen Allgemeine Java-Themen 10
J COM-Port unter Windows nutzen Allgemeine Java-Themen 2
K serial-port Allgemeine Java-Themen 5
Z Parallel Port, setzen der einzelnen Pins Allgemeine Java-Themen 4
E Konflikte bei lokaler Adresse/Port Allgemeine Java-Themen 2
A Serial Port Probleme Allgemeine Java-Themen 4
E Seriellen Port unter Windows ansprechen Allgemeine Java-Themen 16
C Kommunikation mit USB Port Allgemeine Java-Themen 1
L Input/Output Email mit großer Pdf Anhang auslesen? Allgemeine Java-Themen 6
Ernesto95 HTTP Mit JavaScript erzeugte dynamische Webseite auslesen und nach einem Schlüsselwort durchsuchen Allgemeine Java-Themen 6
K Bildschirm auslesen/ Text erkennen Allgemeine Java-Themen 5
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
T INI - Einträge auslesen Allgemeine Java-Themen 6
H Auslesen eines (LDAP-)Attributs in Active Directory Allgemeine Java-Themen 2
O PDF auslesen und verändern, was ist besser iText oder PDFBox ? Allgemeine Java-Themen 9
Robertop Status von Caps- und NumLock auslesen Allgemeine Java-Themen 1
Master3000 Java Konsole über Buffered Reader Zeilenweise auslesen ? Allgemeine Java-Themen 26
G Mac Package auslesen Allgemeine Java-Themen 17
W Versionsnummer auslesen - Regex ist zickig Allgemeine Java-Themen 2
F Junit Test + Cucumber - JSON auslesen und in einem weiteren Schritt nutzen Allgemeine Java-Themen 0
M verschiedene Dokumente auslesen Allgemeine Java-Themen 1
Gaudimagspam CSV-Datei auslesen in Java Allgemeine Java-Themen 7
L Dateien richtig auslesen Allgemeine Java-Themen 6
F WireGuard Status auslesen Allgemeine Java-Themen 3
B .txt Datei erstellen und auslesen bzw. schreiben Allgemeine Java-Themen 6
I DOM-Parser - Element im Element an bestimmten Stellen auslesen Allgemeine Java-Themen 1
N Txt Datei auslesen. Allgemeine Java-Themen 5
O xlsx Datei auslesen mit POI Apache liest keine LEERZELLEN Allgemeine Java-Themen 6
O xlsx Datei auslesen mit POI von Apache wirft seltsamen Fehler. Allgemeine Java-Themen 11
J Information von getSource() Objekt auslesen Allgemeine Java-Themen 1
V EMail, Attachments auslesen von einer Email Allgemeine Java-Themen 0
K Aus String zwei Jahreszahlen auslesen Allgemeine Java-Themen 18
E CSV mit Text und Binärdaten auslesen Allgemeine Java-Themen 7
x46 Webseite in Java auslesen Allgemeine Java-Themen 2
M Html Seite auslesen Allgemeine Java-Themen 16
S Hilfe bei dem Auslesen einer YAML Datei Allgemeine Java-Themen 8
J Fenstergröße eines anderen Programmes auslesen Allgemeine Java-Themen 9
B Cookie auslesen Allgemeine Java-Themen 3
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
J Variablen Mehrere int-variablen in txt abspeichern und danach wieder auslesen Allgemeine Java-Themen 1
J Daten aus Website-Quelltext auslesen Allgemeine Java-Themen 62
J Teil einer URL auslesen Allgemeine Java-Themen 13
denny86 NetBeans Ordnernamen rekursiv auslesen und in Variable verarbeiten Allgemeine Java-Themen 38
C Atfx mit Hilfe von OpenAtfx auslesen Allgemeine Java-Themen 1
C Position von Pixeln in Bilder auslesen Allgemeine Java-Themen 2
M aktive WLAN Teilnehmer auslesen? Allgemeine Java-Themen 6
X JSONObject auslesen und in HashMap hinterlegen Allgemeine Java-Themen 16
S Kann man mit Java auf einem lokalen PC/Mac Benutzergruppen auslesen und Rechte ändern? Allgemeine Java-Themen 11
C Webseite auslesen Allgemeine Java-Themen 3
D Best Practice Gesamten Bildschirminhalt auslesen und Email schicken sobald kein Pixel sich ändert Allgemeine Java-Themen 11
A Erste Schritte Daten aus einer Website auslesen Allgemeine Java-Themen 7
J Bestimmte Zeile aus Textdatei auslesen Allgemeine Java-Themen 18
G Aus JTextField Zahlen auslesen und random generieren Allgemeine Java-Themen 10
M Tastatureingabe von Sondertasten auslesen Allgemeine Java-Themen 6
C Auslesen auslösen über Button-Click Allgemeine Java-Themen 8
M xlsx File auslesen Exception occured Allgemeine Java-Themen 13
U OOP Warum kann ich aus meiner Methode keinen String auslesen Allgemeine Java-Themen 4
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
4a61766120617274697374 PDF iText Wort Koordinaten auslesen Allgemeine Java-Themen 1
KeVoZ_ Bestimmte Zeile aus Console finden & auslesen Allgemeine Java-Themen 2
T Url aus txt Datei auslesen und öffnen? Allgemeine Java-Themen 4
N Werte aus Hashmap auslesen und übertragen Allgemeine Java-Themen 8
KeVoZ_ Properties mit String auslesen Allgemeine Java-Themen 11
I HTML einer Website auslesen liefert nur head Allgemeine Java-Themen 6
D Aktuell installierte Java Version auslesen unter Windows Allgemeine Java-Themen 5
M Parameter auslesen im Servlet Allgemeine Java-Themen 0
M Input/Output USB Geräteinstanzkennung auslesen Allgemeine Java-Themen 3
W 2D-Grafik Erstellungsdatum JPG direkt aus Header (EXIF) auslesen. Allgemeine Java-Themen 5
M Daten aus anderen Programmen auslesen Allgemeine Java-Themen 2
T Datei Byteweise auslesen Allgemeine Java-Themen 1
T Datentypen MNIST Datenbank auslesen (.gz) Allgemeine Java-Themen 0
T Ini Datei auslesen Allgemeine Java-Themen 3
J Temperatur aus bytes auslesen. Allgemeine Java-Themen 13
I JSoup Class auslesen Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben