Note:
Dans ce programme de test de conversion d'une chaine en {int}, "ChaineLongitude" doit toujours avoir la même longueur,
(ce qui est bien le cas de la Longitude renvoyée par le module GPS).
char ChaineLongitude[11] = "123.123456";
char CaractereChaineLongitude = 'A';
int TestCaractereLongitude = 0;
int ChiffreLongitude = 0;
int Compteur1 = 0;
int Compteur2 = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
DecodageCharenInt();
AffichageValeur();
}
void DecodageCharenInt(){
Compteur1 = 10; //pour multiplication (dixaines, cent...)
Compteur2 = 10; //pour capture caractere dans chaine
ChiffreLongitude = ChaineLongitude[Compteur2]; // capture premier caractere sur la droite (unités)
while (Compteur1 < 100000000){
TestCaractereLongitude = int (ChaineLongitude[Compteur2]);
if (( TestCaractereLongitude >= 48) && ( TestCaractereLongitude <= 57)){
ChiffreLongitude = ChaineLongitude[Compteur2]*Compteur1;
Compteur1 = Compteur1 *10;
}
Compteur2--;
ChiffreLongitude = ChaineLongitude[Compteur2];
}
}
void AffichageValeur(){
Serial.println (ChaineLongitude);
Serial.println (ChiffreLongitude);
Serial.println ("------------");
}
Aucun commentaire:
Enregistrer un commentaire