Gestion des variables / array avec arduino et divers types

Désolé c'est encore moi
Je tourne encore en rond à un endroit
malgré mes recherches je ne voie pas

donc j'ai ma structure sondes

typedef struct
{
  uint8_t adresse[8];
  char* nom_sonde;
  float temp_actuelle;
  float temp_min;
  float temp_max;
} 
sondes_temp;

le fichier de configuration est lu par ligne et peuple les variables
mais je bloque pour l'adresse
0x28,0xC6,0x4D,0x21,0x04,0x00,0x00,0x57
J'ai voulu la décomposer en 8 pour remplir adresse
le résultat final devrait être équivalent à

sonde[0].adresse[0]= 0x28;      
 sonde[0].adresse[1]=      0xC6;
sonde[0].adresse[2]=      0x4D;
sonde[0].adresse[3]=      0x21;
sonde[0].adresse[4]=      0x04;
sonde[0].adresse[5]=      0x00;
sonde[0].adresse[6]=      0x00;
sonde[0].adresse[7]=      0x57;

(codé en dur)
mais une fois de plus je coince
le code qui décompose la ligne est

char *p = textBuffer;
char *str;
int itr= 0;
while ((str = strtok_r(p, ",", &p)) != NULL){

ensuite j'ai essayé des
sonde[0].adresse*= str;*
sonde[0].adresse=(uint8_t )(str);
ou encore
strcpy( sonde[0].adresse, (uint8_t )str );
mais je ne voie pas
j'ai changé les types
mais j'ai toujours des
"invalid conversion from 'uint8_t' to 'const char'"

ou
" cast from 'char*' to 'uint8_t' loses precision"