Bonjour,
Je me suis pris un kit pour me faire la main:
c'est quand même bien pensé, le bouzin!
Bon, je joue avec un module GPS, pour trouver l'heure,
les secondes en fait.
à seconde = 0 j'arrête de m'occuper du gps et je fais autre chose, 15 secondes environ
je recommence à lire le gps, et, ... 15 secondes plus tard il me répond toujours 0...
Moi pas comprendre, je suspecte très fortement un buffer à vider, malheureusement toutes les tentatives restent infructueuses.
dévalider le port et le rouvrir ensuite, purger, ... je sèche. :o
Si une âme charitable avait une idée, elle serait bienvenue!
Merci!
ci-dessous le code.
#include <SoftwareSerial.h>
#include <TinyGPS.h>
SoftwareSerial SoftSerial(2, 3); //le grove GPS
TinyGPS gps;
// long latitude, longitude;
int Year;
byte Month, Day, Hour, Minute, Second, Hundredths;
// unsigned long chars;
unsigned long age = millis();
// unsigned short sentences, failed;
void setup()
{
SoftSerial.begin(9600); // port com du gps
Serial.begin(9600); // port com de la console de windows
}
void loop()
{
while (SoftSerial.available())
{
int c = SoftSerial.read(); // lire le gps
gps.encode(c);
}
// gps.get_position(&latitude, &longitude, NULL);
gps.crack_datetime(&Year, &Month, &Day, &Hour, &Minute, &Second, &Hundredths, &age); // extraire l heure
Serial.print("Seconde: "); Serial.println(Second); // afficher seconde
if (Second == 0 ) delay(14500); // délai équivalent à mon programme
// milloudiou comment purger le buffer de donnees GPS!!
}