標題:
為什么我的DHT11一直讀出來是0
[打印本頁]
作者:
jjko
時間:
2023-6-7 23:38
標題:
為什么我的DHT11一直讀出來是0
void DHT11_int(void)
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE); //使能GPIOE時鐘
DHT11_output() ;
}
void DHT11_input(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;//PA0 通道0
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//模擬輸入
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;//不帶上下拉
GPIO_Init(GPIOE, &GPIO_InitStructure);//初始化
}
void DHT11_output(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_SetBits(GPIOE, GPIO_Pin_6);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;//PA0 通道0
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//模擬輸入
GPIO_InitStructure.GPIO_OType=GPIO_OType_OD;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;//不帶上下拉
GPIO_Init(GPIOE, &GPIO_InitStructure);//初始化
}
uint8_t DHT11_read_bitdat(void)
{
uint8_t i;
uint8_t dat;
for(i=0;i<8;i++)
{
dat<<=1;
while(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_6))
while(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_6)==0)
if(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_6))
{
delay_us(30);
}
if(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_6))
dat|=1;
}
return dat;
}
uint8_t DHT11_read(uint8_t *humi,uint8_t *temp)
{
int retry=0;
uint8_t i;
uint8_t buf[5];
GPIO_ResetBits(GPIOE, GPIO_Pin_6);
delay_ms(30);
GPIO_SetBits(GPIOE, GPIO_Pin_6);
delay_us(40);
DHT11_input();
while(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_6))
{
delay_us(80);
retry++;
if(retry>10)
{
GPIO_SetBits(GPIOC,GPIO_Pin_13);
return 1;
}
}
retry=0;
while(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_6)==0)
{
delay_us(80);
retry++;
if(retry>10)
{
GPIO_SetBits(GPIOC,GPIO_Pin_13);
return 1;
}
}
for(i=0;i<5;i++)
{
buf[ i]=DHT11_read_bitdat();
}
DHT11_output();
if((buf[0] + buf[1] + buf[2] + buf[3]) == buf[4])
{
*humi = buf[0];
*temp = buf[2];
return 0;
}
return 1;
}
作者:
yzwzfyz
時間:
2023-6-8 08:17
看IC手冊,再寫程序。
作者:
man1234567
時間:
2023-6-12 14:43
你認為呢 ?
首先提出自己的觀點供討論,而不是責問大家。
作者:
Yanko
時間:
2023-6-12 17:17
有可能地址錯了
作者:
2316185885
時間:
2023-6-12 19:46
代碼不全啊
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1