DHT11为什么改了引脚之后读取的一直是同一个数值啊

2019-10-15 02:03发布

[mw_shl_code=c,true]if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])
                {
                        *humi=buf[0];
                        *temp=buf[2];
                }[/mw_shl_code]

这里一直进不去

#define DHT11_IO_IN()  {GPIOB->CRH&=0XFFF0FFFF;GPIOB->CRH|=8<<16;}
#define DHT11_IO_OUT() {GPIOB->CRH&=0XFFF0FFFF;GPIOB->CRH|=3<<16;}
///PB12                                                                          
#define        DHT11_DQ_OUT PBout(12) //êy&#190;Y&#182;&#203;&#191;ú        PB12
#define        DHT11_DQ_IN  PBin(12)  //êy&#190;Y&#182;&#203;&#191;ú        PB12

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
xujian468
1楼-- · 2019-10-15 03:00
if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])这个逻辑关系不满足么是一直进不去的喽
xujian468
2楼-- · 2019-10-15 06:31
 精彩回答 2  元偷偷看……
zpfly
3楼-- · 2019-10-15 10:26
xujian468 发表于 2017-2-16 14:25
if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])这个逻辑关系不满足么是一直进不去的喽

我知道,就是一直进不去这里,输出的永远是同一个值
zpfly
4楼-- · 2019-10-15 16:09
xujian468 发表于 2017-2-16 14:26
先去看一下数据手册 DHT11_IO_IN() 和DHT11_IO_OUT()设置的是否对,

这样设置是正确的,在开发板上调试是可以的,可是移植到自己做的板就出问题了

一周热门 更多>