DHT11的程序和时序

2019-07-21 04:24发布

 while (DHT11_DQ_IN&&retry<100)//DHT11会拉低40~80us,这里测量PA11拉低的时间是否符合要求
{
retry++;
Delay_us(1);
};  
if(retry>=100)return 1;
else retry=0;
    while (!DHT11_DQ_IN&&retry<100)//DHT11拉低后会再次拉高40~80us
{
retry++;
Delay_us(1);
};
我感觉程序应该是这样才会
 while (!DHT11_DQ_IN&&retry<100)//DHT11会拉低40~80us,这里测量PA11拉低的时间是否符合要求
{
retry++;
Delay_us(1);
};  
if(retry>=100)return 1;
else retry=0;
    while (DHT11_DQ_IN&&retry<100)//DHT11拉低后会再次拉高40~80us
{
retry++;
Delay_us(1);
};
就是循环取相反

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
正点原子
1楼-- · 2019-07-21 07:18
你改了,测试下效果,如何?
忧伤乐观人
2楼-- · 2019-07-21 10:18
开始改后可以的,但是一瞬间传感器不工作了,换之间程序时好是坏
正点原子
3楼-- · 2019-07-21 15:17
回复【3楼】忧伤乐观人:
---------------------------------
我们例程在我们开发板上测试挺好的哦。
忧伤乐观人
4楼-- · 2019-07-21 19:57
就是改过之后还是改过之前?我用就是f4板子
正点原子
5楼-- · 2019-07-21 20:54
回复【5楼】忧伤乐观人:
---------------------------------
你用我们的F4板子,测试DHT11有问题?
忧伤乐观人
6楼-- · 2019-07-21 22:31
 精彩回答 2  元偷偷看……

一周热门 更多>