打印
[技术问答]

DHT11接线

[复制链接]
823|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shen_hao|  楼主 | 2017-8-22 14:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序本来是自己写的,总是停在某处,因为用了许多while,后来用了smartMCU的程序,改的都是延迟,改成time_delay(),所以几乎可以认定程序没错。但总是时序不对,程序提前退出。
问题1:像这种要求时序的程序,可以调试吗???
问题2:谁有DHT程序借来看看,我板子供电3.3V,上拉电阻5K(5个1K串联),实在不清楚问题在哪里???
沙发
shen_hao|  楼主 | 2017-8-23 15:11 | 只看该作者
我查看smartMCU的delayus()函数,发现他用的是CLK_SysTickDelay(),我便换了回去,就能收到DHT11的值了

使用特权

评论回复
板凳
dongnanxibei| | 2017-8-23 17:22 | 只看该作者
有示波器吗,你用示波器测一下那个函数时间长度。。

使用特权

评论回复
地板
shen_hao|  楼主 | 2017-8-24 10:07 | 只看该作者
没有,不过谢谢,可能是程序中延迟都是几十us,核时钟22.1148MHZ,开启time,执行time,检查time也需要时间,DHT11又比较要求时序,所以问题就出现了吧

使用特权

评论回复
5
yiyigirl2014| | 2017-8-24 19:51 | 只看该作者
是啊,时序很重要。

使用特权

评论回复
6
yiyigirl2014| | 2017-8-24 19:52 | 只看该作者
不一定全部用定时器,可以用空指令。

使用特权

评论回复
7
shen_hao|  楼主 | 2017-8-25 10:49 | 只看该作者
空指令该怎么用?

使用特权

评论回复
8
xixi2017| | 2017-8-25 20:02 | 只看该作者
直接用空指令就行了,就是for循环或者while循环,里面放个分号

使用特权

评论回复
9
xixi2017| | 2017-8-25 20:02 | 只看该作者
i=5;
while(i--)
{
;
}

使用特权

评论回复
10
xixi2017| | 2017-8-25 20:03 | 只看该作者
for(i=0;i<5;i++)
{
;
}

使用特权

评论回复
11
xixi2017| | 2017-8-25 20:03 | 只看该作者
你这种是用for比较好。

使用特权

评论回复
12
xixi2017| | 2017-8-25 20:04 | 只看该作者
delay(x)
{
while(x--)
{
;
}


}

或者写成函数的形式。

使用特权

评论回复
13
xixi2017| | 2017-8-25 20:07 | 只看该作者
懂了吧

使用特权

评论回复
14
xixi2017| | 2017-8-25 20:07 | 只看该作者

delay(x)
{
while(x--) ;
}

使用特权

评论回复
15
mintspring| | 2017-8-27 16:16 | 只看该作者
调试通顺了没?这个时间延迟,应该不难搞吧

使用特权

评论回复
16
shen_hao|  楼主 | 2017-8-28 11:08 | 只看该作者
可以了,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

79

主题

230

帖子

2

粉丝