Chiarimenti su un codice sensore DHT11

Salve qualcuno mi riesce a spiegare questo pezzo di codice che non mi è chiaro;

   if (dht11.read (pindht11, &temperature, &umidità, NULL)){
 Serial.print  ("lettura DHT11 fallita")
return;
}

Quello che ho capito io il metodo read () scrive il valore pindh11 nel indirizzo delle variabili temperature e umidità così si hanno i valori, però quello che non riesco a capire if non sarà sempre vero? Questo modo verrà passato lo stampo a vide errore o return,quindi ripartirà il codice da capo,(sotto if codice continua con la parte del codice che stampa a video il risultato immagazzinate nelle variabile)
Quello che non riesco a capire quando che if risulta falso
cosi da saltare return, e andare avanti al di sotto del if per stampare a video i risultati temperature e umidità.
Grazie

Probabilmente il metodo read() ritorna lui stesso un valore cha magari è 0 (false) se l'operazione è riuscita e ≠ 0 (true) se è fallita ... prova a leggere la documentazione della libreria o a guardare il sorgente.

Guglielmo

In pratica se ho capito la funzione dht11.read ():

   (dht11.read (pindht11, &temperature, &umidità, NULL))

Deve assume un valore true o false , poi in base a come e stato impostato nella libreria if sarà vero o falso ,
Giusto
Grazie mille