Bonjour, dans un programme, j'utilise une sous-fonction qui doit envoyer une chaîne de caractères variable selon la valeur de l'entier que je met dans l'appel de la fonction.
Je n'arrive pas à le faire fonctionner, j'ai essayé plusieurs méthodes mais aucune ne fonctionne.
Voici le void setup() :
void setup()
{
Serial.begin(9600);
Serial.print("Code initiale : ");
Serial.println(code);//1234
// connection state
boolean notConnected = true;
// Start GSM connection
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Module GSM non connecte");
delay(1000);
}
}
Serial.print("Temps d'initialisation : ");
Serial.print((millis()/1000));
Serial.println(" secondes.");
void envoie_sms(1);
//delay(1000); je ne sais pas si la tempo est nécessaire.
Serial.println("GSM pret, en attente de message...");
}
1ere méthode : une sous-fonction pour chaque valeur : marche si j'écris une seule sous-fonction, à partir de deux, plante.
void envoie_smsA=1()
{
char remoteNumber[20]= "06XXXXXXXX";
char txtMsg[120]="A=1";
Serial.print("Message ");
Serial.print(txtMsg);
Serial.print(" envoye au ");
Serial.print(remoteNumber);
sms.beginSMS(remoteNumber);
sms.print(txtMsg);
sms.endSMS();
Serial.print(" Envoye!\n");
}
2eme méthode : avec des if pour tester l'entier, le programme fonctionne mais il n'envoie pas txtMsg par message. Pourtant quand j'affiche txtMsg en Serial.print, j'ai le bon message.
void envoie_sms(int A)
{
char txtMsg[120];
if(A==1)
char txtMsg[]="A = 1";
if(A==2)
char txtMsg[]="A = 2";
char remoteNumber[20]= "06XXXXXXXX";
Serial.print("Message ");
Serial.print(txtMsg);
Serial.print(" envoye au ");
Serial.print(remoteNumber);
sms.beginSMS(remoteNumber);
sms.print(txtMsg);
sms.endSMS();
Serial.print(" Envoye!\n");
}
3ème méthode : comme la 2 mais avec des switch case = même problème.
Pour la 1ere méthode avec plusieurs sous-fontion ou la 2eme et 3 eme, sur mon téléphone, je reçois des caractères spéciaux.
Sur le moniteur série, il s'affiche en boucle :
Code initiale : 1234
Code initiale : 1234
Code initiale : 1234
Code initiale : 1234
...
Quelqu'un a une solution pour justement réussir à choisir le message que l'on envoie par SMS en fonction d'un paramètre ?
Cordialement.
Merci.