hallo, habe eine klasse, mit der ich einen Mikrocontroller auslese.
das hat auch eigentlich ohne Probleme funktioniert...
jetzt bekomme ich den Fehler "TooManyListenersException"
ich weiß überhaupt nicht, warum dieser Fehler auf einmal auftaucht...
ich arbeite mit der commapi...
die klasse ist:
und der aufruf ist:
hoffentlich weiß jemand von euch, wo der fehler liegt, weil ich keinen ausmachen kann...
besten dank im voraus!
das hat auch eigentlich ohne Probleme funktioniert...
jetzt bekomme ich den Fehler "TooManyListenersException"
ich weiß überhaupt nicht, warum dieser Fehler auf einmal auftaucht...
ich arbeite mit der commapi...
die klasse ist:
Code:
import java.io.*;
import javax.comm.*;
import java.awt.event.*;
import java.util.*;
public class ComMC
{
static CommPortIdentifier portID;
InputStream ins;
OutputStream out;
static SerialPort serss;
static public String nachricht="", uebergabe="", uebergabeMC;
String getData(){
uebergabeMC = uebergabe;
uebergabe="";
return uebergabeMC;
}
public ComMC(){
initMC();
sendeListener();
}
public void initMC(){
try{portID = CommPortIdentifier.getPortIdentifier("COM1");
serss = (SerialPort) portID.open("test",2000);
}
catch(Exception exc){ }//System.out.println("Fehler :"+exc);}
try {ins = serss.getInputStream();
out = serss.getOutputStream();
serss.addEventListener(new commListener());
//System.out.println(ins.read());
}
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 void sendeListener()
{
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);}
nachricht = new String(readBuffer);
uebergabe = uebergabe + nachricht.trim();
}
catch (IOException e) { }//System.out.println("Fehler: "+e);}
}
}
}
}
und der aufruf ist:
Code:
ComMC mc = new ComMC();
uebergabeMC=mc.getData();
hoffentlich weiß jemand von euch, wo der fehler liegt, weil ich keinen ausmachen kann...
besten dank im voraus!