Forum du développeur

Le forum du développeur vous permettra d'obtenir de l'aide si vous voulez débuter le développement ou si vous développez, que ce soit des programmes ou des sites web. Il vous aidera aussi pour votre système d'exploitation et votre matériel...


Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

Ouverture d'un port COM - Récupération de trame GPS encodées via un recepteur GPS

Aller en bas  Message [Page 1 sur 1]

Bonjour à tous !

J'ai un recepteur GPS qui m'envois des trames NMEA. J'utilise le logiciel PuTTY afin de visualiser ces dernières :



Mon code JAVA permet de récupérer les trames reçues par le récepteur GPS et les affiches en console. Mais voilà que je me retrouve avec ce genre de trame :



Voici mon code :

Code:
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);
        }
    }  
}

Petite note : Lorsque je lance mon application SANS avoir lancé PuTTY une première fois avant, je tombe sur des trames encodées. Si j'ai déjà lancé PuTTY une première fois avant mon application, les trames reçues sont correctes.

Quelqu'un aurait une idée sur la provenance de ce "bug" ?

Je vous remercie par avance pour vos réponses !

Cordialement,

Tofuw

Voir le profil de l'utilisateur

Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum