Hallo Leute,
Folgendes:
Ich bin momentan dabei ein Java Programm zu schreiben um mit einem GSM Modem durch AT-Befehle zu kommunizieren (über eine serielle Schnittstelle -> COM3).
Letztendlich will ich dann die "Antwort" des Modems in eine .txt speichern.
Mein Code:
Das ganze führ ich momentan durch Eclipse in Windows aus.
Mein Problem liegt jetzt daran, dass meistens unterschiedliche Ausgaben kommen.
Mal wird die Antwort des Modems gar nicht ausgegeben, mal nur eine Zeile,...:toll:
Weiß jmd von euch an was das liegen könnte?
Vielen Dank schonmal,
Matthias
Folgendes:
Ich bin momentan dabei ein Java Programm zu schreiben um mit einem GSM Modem durch AT-Befehle zu kommunizieren (über eine serielle Schnittstelle -> COM3).
Letztendlich will ich dann die "Antwort" des Modems in eine .txt speichern.
Mein Code:
Java:
import gnu.io.*;
import java.io.*;
public class test2 {
public static void main(String[] s) {
try {
CommPortIdentifier portIdentifier = CommPortIdentifier
.getPortIdentifier("COM3");
if (portIdentifier.isCurrentlyOwned()) {
System.out.println("Port nicht verfügbar!");
} else {
System.out.println(portIdentifier.getName());
SerialPort serialPort = (SerialPort) portIdentifier.open(
"ListPortClass", 9600);
int b = serialPort.getBaudRate();
System.out.println("Baudrate=" + Integer.toString(b));
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,
SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
OutputStream mOutputToPort = serialPort.getOutputStream();
InputStream mInputFromPort = serialPort.getInputStream();
String befehl = "AT#CSURV\r";
System.out.println("Schreiben... \r\n");
mOutputToPort.write(befehl.getBytes());
System.out.println("AT Befehl geschrieben \r\n");
mOutputToPort.flush();
System.out.println("Warten auf Antwort... \r\n");
Thread.sleep(500);
byte antwort[] = new byte[200];
mInputFromPort.read(antwort);
mInputFromPort.read(antwort);
String value = new String(antwort);
System.out.println("Anwort Port: " + value);
mOutputToPort.close();
mInputFromPort.close();
String result = new String(value);
BufferedWriter out = new BufferedWriter(new FileWriter("C:/File.txt"));
out.write(result);
out.close();
serialPort.close();
}
} catch (Exception ex) {
System.out.println("Exception : " + ex.getMessage());
}
}
}
Das ganze führ ich momentan durch Eclipse in Windows aus.
Mein Problem liegt jetzt daran, dass meistens unterschiedliche Ausgaben kommen.
Mal wird die Antwort des Modems gar nicht ausgegeben, mal nur eine Zeile,...:toll:
Weiß jmd von euch an was das liegen könnte?
Vielen Dank schonmal,
Matthias