Bonjour,
Je me bats pour arriver à faire quelque chose qui pourrait etre simple pour certain.
J'ai réussi à faire une fonction qui va convertir le format d'une position GPS.
Le resultat est en double
Voici ma fonction:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
char * WI968C::convertLatLon(char* latString) // Convert from ddmm to ddmm.mmmmm
{
char results[9];
double latitude = atof(latString);
int deg = (int) latitude;
double fraction_of_a_degree = latitude - deg;
double minutes = fraction_of_a_degree * 60.0;
double newLatitude = deg * 100 + minutes;
Serial.println(newLatitude,4);
//Serial.println(sizeof(newLatitude));
//Serial.println(strlen(newLatitude));
dtostrf(newLatitude, 8, 4, results);
Serial.println(results);
return results;
} |
Le problème, c'est que mes deux serial println dans la fonction affiche bien ce que j'attends,
Sauf que ceci
Serial.println(convertLatLon("46.524220"));
m'affiche n'importe quoi, comme si un buffer était saturé!!
Je code avec Arduino C/C++.
Merci pour vos lumières
Partager