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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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