У меня есть приемник GPS, который отправляет мне кадры NMEA. Мой код извлекает их, но в очень странной форме:
Я использую PuTTY для просмотра кадров NMEA, полученных моим приемником, и проблем нет.
EDIT. Вот код, который я использую:
public class GPSFrame extends Observable implements Runnable
{
static Thread myThread=null;
static BufferedReader br;
static BufferedWriter wr;
static PrintWriter out;
static InputStreamReader isr;
static OutputStreamWriter osw;
static java.io.RandomAccessFile port;
/** CONSTRUCTOR **/
public GPSFrame()
{
myThread=new Thread(this);
}
public void start()
{
try
{
port=new java.io.RandomAccessFile("COM5","rwd");
port.writeBytes("\r\n");
port.writeBytes("c,31,0,0,5\r\n");
port.writeBytes("T,1000,1\r\n");
}
catch (Exception e){ System.out.println("start "+e.toString()); }
// The thread start automatically run() method
myThread.start();
}
/**********************************************************************************************
*************************** RETRIEVE GPS FRAMES AND SEND TO SERVEUR **************************
**********************************************************************************************/
public void run()
{
System.out.println("lecture COM...");
// INFINIT LOOP - GPSFrame is always listening for the GPS receptor
for(;;)
{
String st = null;
try
{
st=port.readLine();
String[]gpsframe=st.split(",");
/* IMPORTANT - DON'T FORGET SETCHANGED() or GPSFrame'll never
* notify UPDATE() ServerBoard method - We'll never see any changes */
setChanged();
notifyObservers(st);
}
catch (IOException e){ System.out.println(e.getMessage()); }
// Show in console
System.out.println(st);
}
}
}
ИЗМЕНИТЬ:
Когда я впервые читаю кадры GPS с PuTTY затем запускаю мое приложение, я вижу правильные кадры GPS в консоли. Но когда я пытаюсь сначала прочитать кадр GPS с помощью своего приложения, я закодировал кадры.
Я не знаю, почему я не могу получить кадры в этой форме. Может кто-нибудь помочь мне решить эту проблему, пожалуйста?
Спасибо вам заранее!
С уважением,
тофу
null null null null null...
для каждого кадра - person Tofuw   schedule 18.12.2013