OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5430|回复: 12

UCOS2下DHT11读写不正常,裸机下是正常的,问题在哪啊?

[复制链接]

8

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2013-6-17
在线时间
0 小时
发表于 2013-12-18 16:54:10 | 显示全部楼层 |阅读模式
裸机下读写DHT11 温湿度传感器,数据都正常
把程序复制到UCOS2 中 读不出来数据,我在网上看是任务调度把时序打乱了
这个问题怎么解决啊?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165559
金钱
165559
注册时间
2010-12-1
在线时间
2118 小时
发表于 2013-12-18 20:17:57 | 显示全部楼层
回复【楼主位】karl2013:
---------------------------------
读取DHT11的时候,禁止任务调度。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2013-6-17
在线时间
0 小时
 楼主| 发表于 2013-12-19 11:00:53 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
我在读DHT11前  已经加了这段代码  
OSSchedLock();        //阻止 ucos 调度,防止打断 us 延时

可还是不行。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165559
金钱
165559
注册时间
2010-12-1
在线时间
2118 小时
发表于 2013-12-19 16:24:11 | 显示全部楼层
回复【3楼】karl2013:
---------------------------------
那你的ucosii是不是用systick做滴答时钟?
然后dht11的延时,是不是也是用的systick?
那么你用的是不是支持ucosii版本的system文件夹?
如果是,那么有没有开启支持ucosii的配置项目?(在sys.h里面)
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2016-8-15
在线时间
3 小时
发表于 2016-8-15 14:20:02 | 显示全部楼层
不知道楼主的问题怎么解决的 ,我也遇到同样的问题,可否指点一二
回复 支持 反对

使用道具 举报

45

主题

78

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
271
金钱
271
注册时间
2015-5-6
在线时间
110 小时
发表于 2016-8-18 21:21:28 | 显示全部楼层
本帖最后由 pengzisheng 于 2016-8-18 21:23 编辑

我的这样写的也不正常  请指点  串口打印是正常的 捕获12.PNG 捕获13.PNG 捕获14.PNG
捕获11.PNG
回复 支持 反对

使用道具 举报

37

主题

186

帖子

0

精华

高级会员

Rank: 4

积分
909
金钱
909
注册时间
2016-3-17
在线时间
210 小时
发表于 2016-8-20 17:56:22 | 显示全部楼层
pengzisheng 发表于 2016-8-18 21:21
我的这样写的也不正常  请指点  串口打印是正常的

能发一下你的程序吗? 谢谢
回复 支持 反对

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3774
金钱
3774
注册时间
2015-4-26
在线时间
766 小时
发表于 2016-8-21 10:22:18 | 显示全部楼层
pengzisheng 发表于 2016-8-18 21:21
我的这样写的也不正常  请指点  串口打印是正常的

如果用原子的代码,把读温度函数的延时改成delay_us不要用ms,实测禁止任务调度不会真的禁止任务调度,不知道为什么
我有故事,你有酒吗
回复 支持 反对

使用道具 举报

37

主题

186

帖子

0

精华

高级会员

Rank: 4

积分
909
金钱
909
注册时间
2016-3-17
在线时间
210 小时
发表于 2016-8-22 09:15:27 | 显示全部楼层
来俩不甜的 发表于 2016-8-21 10:22
如果用原子的代码,把读温度函数的延时改成delay_us不要用ms,实测禁止任务调度不会真的禁止任务调度,不 ...

您在EMWIN和UCOS下可以正常显示DHT11读出来的温度吗?
回复 支持 反对

使用道具 举报

37

主题

186

帖子

0

精华

高级会员

Rank: 4

积分
909
金钱
909
注册时间
2016-3-17
在线时间
210 小时
发表于 2016-8-22 09:45:32 | 显示全部楼层
来俩不甜的 发表于 2016-8-21 10:22
如果用原子的代码,把读温度函数的延时改成delay_us不要用ms,实测禁止任务调度不会真的禁止任务调度,不 ...

在原子的代码中只有一个delay_ms(20),在复位的时候最少延时20ms
回复 支持 反对

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3774
金钱
3774
注册时间
2015-4-26
在线时间
766 小时
发表于 2016-8-22 13:27:40 | 显示全部楼层
JueSe 发表于 2016-8-22 09:45
在原子的代码中只有一个delay_ms(20),在复位的时候最少延时20ms

你下载最新的代码,那里边有delayus
我有故事,你有酒吗
回复 支持 反对

使用道具 举报

37

主题

186

帖子

0

精华

高级会员

Rank: 4

积分
909
金钱
909
注册时间
2016-3-17
在线时间
210 小时
发表于 2016-8-22 16:10:21 | 显示全部楼层
来俩不甜的 发表于 2016-8-22 13:27
你下载最新的代码,那里边有delayus

就是说不用改啦,那样DHT11的数值也读不出来啊?
回复 支持 反对

使用道具 举报

yxzlxx 该用户已被删除
发表于 2017-3-22 22:27:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-25 06:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表