OpenEdv-开源电子网

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

在做毕设,用dth11温湿度传感器在裸机上跑完全没问题,但是在ucosIII系统上却不能正确显示和刷新数据

[复制链接]

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
发表于 2019-1-21 22:32:58 | 显示全部楼层 |阅读模式
1金钱
dth11温湿度传感器采集数据程序用的是正点原子的实验例程在裸机上跑完全没有问题,但是在ucosiii系统上和stemwin上跑就不能读取正确数据和刷新数据,在 DHT11_Read_Data(&temperature,&humidity)前后加上OSSchedLock(&err)OSSchedUnlock(&err),或者在DHT11_Read_Data(&temperature,&humidity)前后加上OS_CRITICAL_ENTER()和OS_CRITICAL_EXIT(),但是也不行,也试过采用软件定时器和信号量,但是也不行。不知道到底是什么问题,希望各位好心人帮助一下,我学ucos系统不是很久,看了很多帖子,按照他们的办法尝试了,还是不行,这问题已经困扰我很多天了,毕设一直不能推前,所以发个帖子,真心希望遇到类似问题的朋友大神们帮忙想想办法。 1.png 2.png

最佳答案

查看完整内容[请看2#楼]

参考看下这帖子UCSIII的程序移植+温湿度 http://www.openedv.com/forum.php?mod=viewthread&tid=287155&page=1&extra=#pid924541
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2019-1-21 22:32:59 | 显示全部楼层
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-1-22 01:13:37 | 显示全部楼层
你的软件如何实现的延迟? DHT11驱动需要很多delay us
回复

使用道具 举报

109

主题

5562

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10542
金钱
10542
注册时间
2017-2-18
在线时间
1908 小时
发表于 2019-1-22 15:56:00 | 显示全部楼层
用的是哪个板子?
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
 楼主| 发表于 2019-1-22 19:05:46 | 显示全部楼层
peng1554 发表于 2019-1-22 15:56
用的是哪个板子?

战舰V3
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
 楼主| 发表于 2019-1-22 19:08:35 | 显示全部楼层
正点原子 发表于 2019-1-22 01:13
你的软件如何实现的延迟? DHT11驱动需要很多delay us

用的是正点原子战舰V3开发板dth11温湿度传感器实验的基本 delay_us
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
 楼主| 发表于 2019-1-22 19:18:10 | 显示全部楼层

在做毕设,用dth11温湿度传感器在裸机上跑完全没问题,但是在ucosIII系统上却不能正确显示和刷新数据

1.png 2.png 3.png 4.png 5.png 6.png

这是延时函数

这是延时函数
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
 楼主| 发表于 2019-1-22 19:19:23 | 显示全部楼层

前面是dth11.c文件,最后的是延时函数
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
 楼主| 发表于 2019-1-22 19:38:47 | 显示全部楼层
3.jpg
这是用Guibuilder做的界面,dth11在裸机上运行没问题,但是在ucos系统和stemwin中数值就一直不变,有时候改变延时时间之类的,温度就会变成50,70多度
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
 楼主| 发表于 2019-1-23 13:50:37 | 显示全部楼层
1208 发表于 2019-1-22 20:56
参考看下这帖子UCSIII的程序移植+温湿度
http://www.openedv.com/forum.php?mod=viewthread&tid=287155&pa ...

好的,谢谢
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
 楼主| 发表于 2019-1-24 13:11:52 | 显示全部楼层
1208 发表于 2019-1-21 22:32
参考看下这帖子UCSIII的程序移植+温湿度
http://www.openedv.com/forum.php?mod=viewthread&tid=287155&pa ...

在你给的程序上面,一点一点的把我的工程加进去,总算可以了,十分感谢啊,也谢谢各位朋友的帮忙,但是我还不是很清楚具体是什么原因,好像和延时有很大关系,我把延时模式改成周期模式OSTimeDlyHMSM(0,0,0,300,OS_OPT_TIME_PERIODIC,&err)就不行了,而OSTimeDlyHMSM(0,0,0,300,OS_OPT_TIME_HMSM_STRICT,&err)模式就可以,而且和延时时间的长短有关系,好像不关中断的事,请问您知道具体原因吗,大神
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2019-1-24 14:50:24 | 显示全部楼层
WUKONG 发表于 2019-1-24 13:11
在你给的程序上面,一点一点的把我的工程加进去,总算可以了,十分感谢啊,也谢谢各位朋友的帮忙,但是我 ...

为什么要用周期,一般用延时就可以
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2019-6-27
在线时间
1 小时
发表于 2019-7-4 11:03:23 | 显示全部楼层
解决了吗
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-25 22:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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