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:
	
	| 12
 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