欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1804|回復: 4
收起左側

為什么我的DHT11一直讀出來是0

[復制鏈接]
ID:1082695 發表于 2023-6-7 23:38 | 顯示全部樓層 |閱讀模式
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;
}

回復

使用道具 舉報

ID:123289 發表于 2023-6-8 08:17 | 顯示全部樓層
看IC手冊,再寫程序。
回復

使用道具 舉報

ID:584814 發表于 2023-6-12 14:43 | 顯示全部樓層
你認為呢 ?
首先提出自己的觀點供討論,而不是責問大家。
回復

使用道具 舉報

ID:1083588 發表于 2023-6-12 17:17 | 顯示全部樓層
有可能地址錯了
回復

使用道具 舉報

ID:403121 發表于 2023-6-12 19:46 | 顯示全部樓層
代碼不全啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表