Comment convertir un array en byte
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.
Je le fais comme ca
Code:
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
} |
Il devrait effacer le numero qui se trouve a la position 3, simplement ca ne marche pas.
Si je fais ca, ca marche
Code:
gsm.DelPhoneNumber(3);
Le truc c'est que la fonction gsm.DelPhoneNumber(byte position);
attend un byte dont voici un extrait
Code:
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 |
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.
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