DeviceAddress indirizzamento dinamico su richiamo procedura

sto creando una centrare di termoregolazione dove vado a interrograe diverse sonde ds18b20.

buona sera, ho un problema sul richiamo di una semplice funzione creata da me.

float acquisisci_temperatura(DeviceAddress deviceAddress)
{  sensors.requestTemperatures(); 
  float tempC = sensors.getTempC(deviceAddress);
  return tempC;
}

ad inizio programma ho dichiarato tutte le mie sonde

DeviceAddress sensor01 =   {0x28,0xC,0x78,0xA9,0xC,0x0,0x0,0xB1};
DeviceAddress sensor02 =   {0x28,0x5C,0xF6,0xA9,0xC,0x0,0x0,0xF6};
DeviceAddress sensor03 =   {0x28,0xDE,0x58,0xAA,0xC,0x0,0x0,0x6B};

finchè richiamo la funzione nel seguente modo, tutto ok

switch (indice) 
          {  case 0:
                temp_letta[indice]=acquisisci_temperatura(sensor1);
             break;
             case 1:
                temp_letta[indice]=acquisisci_temperatura(sensor2);
             break;
             case 2:
                temp_letta[indice]=acquisisci_temperatura(sensor3);
             break;..............

quando la richiamo nel seguente modo, mi compare l'errore "invalid conversion from 'char*' to 'uint8_t* {aka unsigned char*}' [-fpermissive]", dove nome sensore è un array di char, dove in dichiarazione ho già provveduto a popolare i primi campi con la scritta 'sensor' e a popolari gli altri campi in modo dinamico al variare del mio puntatore.

if (indice<9){nome_sensore[6]=48;nome_sensore[7]=indice+1+48;nome_sensore[8]='\0';Serial.println(nome_sensore);
         temp_letta[indice]=acquisisci_temperatura(nome_sensore);
char nome_sensore[9]={'s','e','n','s','o','r'};

in che modo potrei risolvere la problematica? grazie mille
non riesco a inserire l'intero codice per superamento caratteri

Non puoi passare il nome della variabile come stringa.
Dovresti fare un array con i sensori
DeviceAddress sensor[]
E poi passare il parametro come posizione dell'array
sensor[indice]

ho seguito il tuo consiglio, ma mi compare il seguente errore :error: assigning to an array from an initializer list
ho apportato le seguenti modifiche al codice

nella parte di dichiarazione

DeviceAddress sensor[10];

nel setup ho dichiarato tutti gli indirizzi

sensor[0]={0x28,0xC,0x78,0xA9,0xC,0x0,0x0,0xB1};
sensor[1]={0x28,0x5C,0xF6,0xA9,0xC,0x0,0x0,0xF6};
sensor[...]={...};

e ho richiamato la funzione in questo modo

temp_letta[indice]=acquisisci_temperatura(sensor[indice]);

credo tu non possa usare quella forma durante un assegnamento, ma solo durante l'inizializzazione

prova così:

DeviceAddress sensor[10]={{0x28,0xC,0x78,0xA9,0xC,0x0,0x0,0xB1},{0x28,0x5C,0xF6,0xA9,0xC,0x0,0x0,0xF6},...........};

forse così funziona

provo e ti aggiorno

@Standardoil ha centrato il problema, il C non accetta di assegnare ad un array dei valori.
Lo puoi fare solo in fase di inizializzazione.
Inoltre ricorda che DeviceAddress in realtà è un tipo di dato creato dalla libreria ed é: un array di 8
typedef uint8_t DeviceAddress[8];

Quindi anche questo è vietato:
DeviceAddress sensor01;
...
sensor01 = {0x28,0xC,0x78,0xA9,0xC,0x0,0x0,0xB1}; // errore