Hallo
ich habe mal eine Frage, wie stopt man ein Prozess bzw. ihn anhaltet. Ich will Daten von Seriellen Stittstellen auswerten.Man schreibt daten auf RS232 und dann warten bis was zürück kommt, denn amsonsten ist es zu schnell, standig komm Fehler java.lang.NullPointerException
ich habe mal eine Frage, wie stopt man ein Prozess bzw. ihn anhaltet. Ich will Daten von Seriellen Stittstellen auswerten.Man schreibt daten auf RS232 und dann warten bis was zürück kommt, denn amsonsten ist es zu schnell, standig komm Fehler java.lang.NullPointerException
Code:
public static void main(String[] args) {
try {
portID = CommPortIdentifier.getPortIdentifier("COM1");
serss = (SerialPort) portID.open("mein_programm", 2000);
MeinProbe f = new MeinProbe();
f.write();
// AN DIESE STELLE ?
telegram.auswerten(feld);
} catch (Exception exc) {
System.out.println("Fehler :" + exc);
}
}
public MeinProbe() {
try {
ins = serss.getInputStream();
out = serss.getOutputStream();
} catch (Exception e) {
System.out.println("Fehler: " + e);
}
try {
serss.addEventListener(this);
} catch (TooManyListenersException e) {}
serss.notifyOnDataAvailable(true);
try {
serss.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {
}
}
public void write() {
try {
out.write(daten);
} catch (IOException e1) {}
}
public void serialEvent(SerialPortEvent event) {
switch(event.getEventType()) {
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE:
try {
byte[] readBuffer = new byte[ins.available()];
while (ins.available() > 0) {
int numBytes = ins.read(readBuffer);
feld= new int[numBytes];
for(int i=0;i<readBuffer.length;i++){
feld[i]=(readBuffer[i]&0xff);
//System.out.print(feld[i]);
}
}
} catch (IOException e) {
System.out.println("Fehler: " + e);
}
break;
}
}