Limites de conversion char vers int
Bonjour,
dans le programme ci dessous, si je mets 29658 à la variable msg tout va bien, il m'affiche msgNum+1 = 29659,
mais si je mets 293658, alors là msgNum affiche 31515 au lieu de 293658 !
je ne comprend pas pourquoi, tant que chiffre contenu dans la variable char msg[] est à 5 digit ca fonctionne et à 6 digit ca marche plus !
merci de votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| char msg[]= "29658"; // Tableau qui contient notre message
int msgNum=0;
void setup() // Fonction setup()
{
Serial.begin(9600); // Initialisation du port série pour avoir un retour sur le serial monitor
Serial.println("Tuto VirtualWire"); // Petit message de bienvenue
vw_setup(2000); // initialisation de la librairie VirtualWire à 2000 bauds (note: je n'utilise pas la broche PTT)
}
void loop() // Fonction loop()
{
Serial.println(msg);
int msgNum = atoi(msg);
Serial.print ("msgNum = ");
Serial.println(msgNum);
Serial.println(msgNum+1);
delay(1000); |