Errori di compilazione (no matching & cannot convert)

anerDev:
numero_cifre deve essere un numero ? Quindi qualcosa del genere ?

float temperatura = ds18b20.getTempCByIndex(0);

dtostrf(temperatura, 2, 2, datastring);

numero_cifre rappresenta il numer complessivo delle cifre da gestire. Se vuoi 3.2 (3 interi e 2 decimal) ad esempio devi mettere 5.

Inoltre questio blocco dove lo devo piazzare o meglio, come lo integro nel blocco

sprintf(datastring, "testo"); // Puts the text in the datastring

unsigned int CHECKSUM = gps_CRC16_checksum(datastring);  // Calculates the checksum for this datastring
char checksum_str[6];
sprintf(checksum_str, "*%04X\n", CHECKSUM);
strcat(datastring,checksum_str);




Sto navigando in acque cieche ! :/

Il tuo problema non era questo codice?

sprintf(datastring, ds18b20.getTempCByIndex(0));

Questo codice lo sostituisci con quello che ti ho postato