Bonjour à tous,
Je sauve dans un eeprom une chaine de caractère comme celle-ci
{0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x83, 0xBA, 0x6C, 0x6C, 0xCD, 0xFA, 0xA5, 0x65, 0x9D, 0x2E }
Puis l'extrait et je dois retrouver celle valeur dans un char. Ce char soit m'acchiser
char monChar[100];
Serial.println(monChart);
{0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x83, 0xBA, 0x6C, 0x6C, 0xCD, 0xFA, 0xA5, 0x65, 0x9D, 0x2E }
Voici le code:
Au debut, je crée un pointer et le lui attribue la premiere valeur : {
Ensuite dans le for, j'ajoute 0x et la valeur venant de mon eeprom,
je déplace mon pointer, j'ajoute une virgule, je déplace mon pointer et je recommance pour le prochain chiffre. A la fin je termine un }
J'affiche la valeur finale
Serial.print(F("Qu'es-ce que ca donne?"));
Serial.println((char*)buf);
sauf que je devrait encore sauver buf dans
monChar[100];
Serial.print(monChart);
uint8_t buf[100];
memset(buf,'\0',100);
uint8_t * ptr = buf;
*ptr = '{';
ptr += strlen((char *) ptr);
for (int entry = 0; entry < 16; entry++)
{
uint8_t data = _readEEPROM(EEPROM_ADDR, _eeprom.nwkskeypage, entry);
_config_radio.nwkskey[entry]=data; // Ceci fonctionne
*ptr = '0x';
ptr += strlen((char *) ptr);
*ptr = data;
ptr += strlen((char *) ptr);
if (i < 16){
*ptr = ',';
ptr += strlen((char *) ptr);
}
}
ptr += strlen((char *) ptr);
Serial.print(F("Qu'es-ce que ca donne?"));
Serial.println((char*)buf);
le problème est que buf m'affiche
{x⸮,x,x⸮,x⸮,xz,x⸮,x⸮,x⸮,xl,xl,x⸮,x⸮,x⸮,xe,x⸮,x.,}
je me demande bien si je peux simplement copier un uint8_t dans un uint8_t aussi simplement
*ptr = data;
Comment puis corriger mon problème ou alors comment sauver mes valeurs extraites dans
char monChar[100];
Merciiii