Как читать данные из dht11 с помощью atmega328p - PullRequest
0 голосов
/ 09 ноября 2018

Использование IDE: AtmelStudio, uC = atmega328p, датчик DHT11

Я пытаюсь прочитать значения из DHT11. Я установил стартовый сигнал

DDRC |= 1 << TEMP_SENZOR; //output
_delay_ms(2000); // wait for 2s according to datasheet
PORTC &= ~ (1 << TEMP_SENZOR); //set low for at least 18 ms
_delay_ms(20);
PORTC |= 1 << TEMP_SENZOR; // set high

Тогда я установил метод getResponse

DDRC &= ~ (1 << TEMP_SENZOR); // set for input
while(PINC & (1 << TEMP_SENZOR));
while(PINC & (1 << TEMP_SENZOR) == 0);
while(PINC & (1 << TEMP_SENZOR));

Я пытался закодировать функцию несколько раз, чтобы получить значения, но, к сожалению, я получаю некоторые значения, которые не имеют ничего общего с чтением из Proteus DHT11.

Я новичок в этом, поэтому извините, если вопрос тривиален.

...