Hallo,
brauche dringend Unterstützung, meine Lektüre hilft mir nicht weiter. Wahrscheinlich kapier ich
es ehrlichgesagt auch nicht. :rtfm:
Ich habe eine Klasse zum zeilenweisen Text auslesen von einer seriellen Schnittstelle.
Nun ich möchte die Variable "merker" (Zeile74) in meine Startklasse (bzw. Mainklasse) übergeben.
Kann ich nicht dafür einfach ein Setter schreiben um den String dann
mit einem Getter in der Startklasse zu holen?
brauche dringend Unterstützung, meine Lektüre hilft mir nicht weiter. Wahrscheinlich kapier ich
es ehrlichgesagt auch nicht. :rtfm:
Ich habe eine Klasse zum zeilenweisen Text auslesen von einer seriellen Schnittstelle.
Nun ich möchte die Variable "merker" (Zeile74) in meine Startklasse (bzw. Mainklasse) übergeben.
Kann ich nicht dafür einfach ein Setter schreiben um den String dann
mit einem Getter in der Startklasse zu holen?
Java:
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Enumeration;
import java.util.TooManyListenersException;
public class GPS implements SerialPortEventListener{
private CommPortIdentifier serialPortId;
private Enumeration enumComm;
private SerialPort serialPort;
private final int baudrate = 4800;
private final String portName = "COM12";
private BufferedReader br;
String merker="";
public GPS(){
if(openSerialPort()){
try{
serialPort.addEventListener(this);
serialPort.notifyOnDataAvailable(true);
}catch(TooManyListenersException ex){}
}
}
public static void main(String[] args){
new GPS();
}
public boolean openSerialPort(){
boolean foundPort = false;
enumComm = CommPortIdentifier.getPortIdentifiers();
while(enumComm.hasMoreElements()) {
serialPortId = (CommPortIdentifier) enumComm.nextElement();
if(portName.contentEquals(serialPortId.getName())) {
foundPort = true;
break;
}
}
if(!foundPort)
return false;
try{
serialPort = (SerialPort) serialPortId.open(this.getClass().getName(),2000);
serialPort.setSerialPortParams(baudrate, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
br = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
}catch(Exception e){
return false;
}
return true;
}
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{
merker = br.readLine();
}
}catch(IOException ex){}
break;
}
}
}