arduino GPS - get status GPS. - Divers - Programmation
Marsh Posté le 12-03-2016 à 18:20:55
didlawowo a écrit : |
Tu vois la différence?
Marsh Posté le 12-03-2016 à 18:27:19
rat de combat a écrit : |
J'ai mal copier le souci ne vient pas de la enfait mais plutôt de la lecture en port série je pense
Marsh Posté le 12-03-2016 à 19:05:03
j'ai mis mon topic ici aussi
http://forum.hardware.fr/hfr/elect [...] 05.htm#bas
Marsh Posté le 12-03-2016 à 15:46:54
hello,
je sais pas si certains ici font un peu d'arduino, mais j'aurais bien besoin d'un coup de main.
je ne sais pas comment faire pour recupérer une chaine de caractère suivante à une commande AT
en gros je pousse sur serial
AT+CGNSINF qui renvoi
CGNSINF+: 1,1 , x, x,x xx, x,
ou
CGNSINF+: 1,0 ......
impossible d'arriver à choper cette chaine en sérial .
si qqun pouvait m'aider c'est sureemnt pas compliqué mais la je but.
mon code
int8_t gps_status () {
String replybuffer = "";
uint8_t answer = 0;
//sendATcommand("AT+CGNSINF", "OK", 2000);
replybuffer = sendData("AT+CGNSINF", 2000, false);
//Serial.print("AT+CGNSTST=1" );
if (replybuffer.startsWith("+CGNSINF: 1,1" ) )
{
answer = 1;
//Serial.println(replybuffer );
}
else {
answer = 0;
}
}
ma function senddata
String sendData(String command, const int timeout, boolean debug)
{
String response = "";
Serial.println(command);
long int time = millis();
while( (time+timeout) > millis())
{
//while (Serial.available() > 0) Serial.read()
while(Serial.available() > 0)
{
char c = Serial.read();
response+=c;
}
}
if(debug)
{
//Serial.print("debug: " );
Serial.println(response);
}
return response;
}
parfois ca marche d'autre fois pas
j'ai regardé le code adafruit, mais c'est tellement package dans leur lib que c'est inutilisable en dehors
merci de votre retour.