Bonjour,
Je charhe a convertir un array en byte.
mon array (char) est la suivante
Pour etre complet, je dois séparé le 3 de dird.dird3
Je le fais comme ca
Il devrait effacer le numero qui se trouve a la position 3, simplement ca ne marche pas.
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 if(!strncmp(inSerial,"dird",3)){ #ifdef DEBUG Serial.println(F("DELETE IN THE PHONE DIRECTORY")); Serial.println(F("--------------------------------")); Serial.println(F("In progress, wait...")); #endif // Ici j'affiche le trois Serial.println(inSerial[4]); //En suite j'ai besoin de ce trois pour une fonction gsm.DelPhoneNumber(inSerial[4]); // Il devrait effacer le numero qui se trouve a la position 3 }
Si je fais ca, ca marche
Le truc c'est que la fonction gsm.DelPhoneNumber(byte position);
Code : Sélectionner tout - Visualiser dans une fenêtre à part gsm.DelPhoneNumber(3);
attend un byte dont voici un extrait
Donc si j'ai bien compris je dois transformé la valeur de inSerial[4] (3) pour l'avoir en byte, mais qi doit toujours etre trois, forcément.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 char GSM::DelPhoneNumber(byte position) { char ret_val = -1; if (position == 0) return (-3); if (CLS_FREE != GetCommLineStatus()) return (ret_val); SetCommLineStatus(CLS_ATCMD); ret_val = 0; // phone number was not written yet
Et la je ne sais pas comment faire. J'ai essayé ceci
byte tot = (byte)inSerial[4];
Mais sans succes.
Comment puis je faire pour que 'position' de ma fonction DelPhoneNumber() recupère le bon numero??
Milles mercis
Partager