Si puedes poner donde se encuentra dicha documentación, ya que hay varias y no se a cual te refieres.
Ésta es la función que uso, está basada en uno de los tantos códigos que puedes encontrar por internet y si creo recordar bien, recibía decimales.
void readDHT(float pReadings[]){
byte dht_dat[4], dht_check_sum;
digitalWrite(DHT11_PIN,LOW);
delay(18);
delay(5);
digitalWrite(DHT11_PIN,HIGH);
delayMicroseconds(40);
pinMode(DHT11_PIN,INPUT);
delayMicroseconds(40);
if(digitalRead(DHT11_PIN)){
PgmPrintln("Condicion de inicio 1 no cumplida");
PgmPrintln("#### EJECUCION DETENIDA ####");
while(true);
}
delayMicroseconds(80);
if(!digitalRead(DHT11_PIN)){
PgmPrintln("Condicion de inicio 2 no cumplida");
PgmPrintln("#### EJECUCION DETENIDA ####");
while(true);
}
delayMicroseconds(80);
for (byte i=0; i<5; i++) dht_dat[i] = ReadData_DHT();
pinMode(DHT11_PIN,OUTPUT);
digitalWrite(DHT11_PIN,HIGH);
dht_check_sum = dht_dat[0]+dht_dat[1]+dht_dat[2]+dht_dat[3];
if(dht_dat[4] != dht_check_sum) PgmPrintln("Error de checksum");
pReadings[1] = dht_dat[0]; //Guardamos humedad
pReadings[0] = dht_dat[2]; //Guardamos temperatura
En cuanto a la pregunta del pin, no debería tener trascendencia alguna, yo lo tenía conectado al pin 32 del mega.
Un saludo