如何使用atmega328p从dht11读取数据

时间:2018-11-09 19:59:27

标签: c microcontroller sensor avr

使用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读取无关。

这是我的新手,如果问题很简单,请抱歉。

0 个答案:

没有答案