Bonjour,
Je transmet, au travers de la liaison série un ensemble de data. Exemple :
Je me retrouve donc avec 4 parties contenant chacune, dans un tableau (j'ai mis les index [x]):Citation:
1000/0b00000001/0;3000/0b00000000/0;3500/0b00000001/0;3800/0b00000000/1
Je rencontre un souci avec la partie binaire. Je la retrouve bien si je la place dans une variable string, ors, j'aimerais la garder au format binaire sous un Byte.Citation:
[0] 1000/0b00000001/0
[1] 3000/0b00000000/0
[2] 3500/0b00000001/0
[3] 3800/0b00000000/1
Il s'avère que, quand j'exécute mon code je retrouve ceci :
Comment 0b00000001 devient 31 ? si je convertit 0x01 et 1Citation:
1000
31
0
3000
43
0
3500
55
0
3800
67
1
Comment 0b00000000 devient 43 ? si je convertit 0x00 et 0
Comment 0b00000001 devient 55 ? si je convertit 0x01 et 1
Comment 0b00000000 devient 67 ? si je convertit 0x00 et 0
Donc c'est erroné !
Voilà donc le morceau de code qui fait en partie le taff :
Si voua avez une petite idée, j'ai essayer déjà pas mal de chose mais sans réel succès.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 /* VARIABLES*/ int timer = 0; byte port = 0x00; boolean stopWave = 0; for(int j = 0; j < numCmds; j++) { timer = atoi(strtok_r(cmds[j], "/", &ptr)); port = strtok_r(NULL, "/", &ptr); //Ligne qui pose problème stopWave = atoi(strtok_r(NULL, "/", &ptr)); Serial.println(timer); //Ok Serial.println(port); //NOK Serial.println(stopWave); //Ok }