OpenEdv-开源电子网

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

求助dht11在ucosII下使用问题

[复制链接]

55

主题

474

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2374
金钱
2374
注册时间
2017-8-7
在线时间
207 小时
发表于 2018-4-10 13:25:42 | 显示全部楼层 |阅读模式
3金钱
我用dht11传感器在stm32f7上进行温湿度采集,在ucosII下,新建一个task,定时200ms获取一次,可以读取数据,但是我一切换到网络部分的时候,就加了一个task调用,屏幕显示摄像头采集的图像,然后温湿度数据就不刷新了,调试去看读取的数据都是错误的都是ff,dht11用的是历程移植过来的,查了一些资料说是采集的时候关闭任务调度,我也试着关闭了,可是还不好使,有没有大神有好的办法,帮忙解惑,感激不尽[mw_shl_code=c,true]void led_task(void *pdata)
{
        OS_CPU_SR cpu_sr;
        u8 temperature;              
        u8 humidity;  
        while(1)
        {
                LED0_Toggle;
                OSTimeDlyHMSM(0,0,0,100);  //Ñóê±500ms
        //        OS_ENTER_CRITICAL();          //1ØÖD¶Ï
                OSTimeDlyHMSM(0,0,0,2);
                DHT11_Read_Data(&temperature,&humidity);                //¶áè¡ÎÂêa¶èÖμ       
                OSTimeDlyHMSM(0,0,0,2);
//                OS_EXIT_CRITICAL();                  //¿aÖD¶Ï
                LCD_ShowString(30,270,200,16,16,"Temp:  C");       
                LCD_ShowString(30,290,200,16,16,"Humi:  %");
                LCD_ShowNum(30+40,270,temperature,2,16);                //ÏÔê¾ÎÂ¶è                                  
                LCD_ShowNum(30+40,290,humidity,2,16);                        //ÏÔê¾êa¶è
               
       
        }
}
[/mw_shl_code]

最佳答案

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

原子哥,问题解决了,我是这么理解的,不知道对不对,我摄像头那个任务处理完有个os的延时,这个任务优先级是最高的,然后他的延时是2ms,这样留给其他任务处理的时间就非常紧,不够处理完,所以dht11就会异常,我修改了延时在20ms以上后,就没有问题了,我记得delay_ms这个函数好像是不能被任务切换掉的,os的延时是可以的,也没有加中断,加了中断摄像头显示图像的时候就会有抖动影响效果,现在问题解决啦,谢谢原子哥
qq1950361006,互帮互助,共同进步。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

55

主题

474

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2374
金钱
2374
注册时间
2017-8-7
在线时间
207 小时
 楼主| 发表于 2018-4-10 13:25:43 | 显示全部楼层
正点原子 发表于 2018-4-11 01:34
读取dht11的延时,有加禁止中断么?没的话,加一下。

原子哥,问题解决了,我是这么理解的,不知道对不对,我摄像头那个任务处理完有个os的延时,这个任务优先级是最高的,然后他的延时是2ms,这样留给其他任务处理的时间就非常紧,不够处理完,所以dht11就会异常,我修改了延时在20ms以上后,就没有问题了,我记得delay_ms这个函数好像是不能被任务切换掉的,os的延时是可以的,也没有加中断,加了中断摄像头显示图像的时候就会有抖动影响效果,现在问题解决啦,谢谢原子哥
qq1950361006,互帮互助,共同进步。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-4-11 01:34:18 | 显示全部楼层
读取dht11的延时,有加禁止中断么?没的话,加一下。
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
发表于 2019-1-10 15:37:58 | 显示全部楼层
kbq1950361006 发表于 2018-4-10 13:25
原子哥,问题解决了,我是这么理解的,不知道对不对,我摄像头那个任务处理完有个os的延时,这个任务优先 ...

您好,我在做毕设,也遇到了类似的问题,在裸机上DTH11读取数据完全没问题,但是在ucosiii系统上运行时,就不能正确显示数据而且不能刷新数据,我看了好多帖子,也尝试了好多办法,也按照楼主的方法试过了,但是也不行,请问您说的在dth11的延时禁止中断,能具体一些吗,我新手不怎么懂,期待您的回复,万分感激
回复

使用道具 举报

55

主题

474

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2374
金钱
2374
注册时间
2017-8-7
在线时间
207 小时
 楼主| 发表于 2019-1-11 15:11:35 | 显示全部楼层
WUKONG 发表于 2019-1-10 15:37
您好,我在做毕设,也遇到了类似的问题,在裸机上DTH11读取数据完全没问题,但是在ucosiii系统上运行时, ...

时间挺久了,确实是操作系统影响时序的问题,你把dht11刷新的函数放在一个任务很空闲的任务里,好像还有一个地方,是dht11发送寄存器指令函数中有个延时要延时20ms
qq1950361006,互帮互助,共同进步。
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
发表于 2019-1-13 16:58:36 | 显示全部楼层
kbq1950361006 发表于 2019-1-11 15:11
时间挺久了,确实是操作系统影响时序的问题,你把dht11刷新的函数放在一个任务很空闲的任务里,好像还有 ...

我的读取数据任务没有加其他的功能,就只是读取数据好显示,延时20ms我加了,好像还是不行,谢谢你啊
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
发表于 2019-1-13 17:00:52 | 显示全部楼层
本帖最后由 WUKONG 于 2019-1-13 17:24 编辑
WUKONG 发表于 2019-1-13 16:58
我的读取数据任务没有加其他的功能,就只是读取数据好显示,延时20ms我加了,好像还是不行,谢谢你啊

[img][/img]

这是任务函数

这是任务函数

延时是加在这里吗

延时是加在这里吗
回复

使用道具 举报

55

主题

474

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2374
金钱
2374
注册时间
2017-8-7
在线时间
207 小时
 楼主| 发表于 2019-1-13 21:20:47 | 显示全部楼层

你试一试不就知道了,这个历程我早就没有了,在之前的单位电脑里,找到在回复你一次吧
qq1950361006,互帮互助,共同进步。
回复

使用道具 举报

55

主题

474

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2374
金钱
2374
注册时间
2017-8-7
在线时间
207 小时
 楼主| 发表于 2019-1-13 21:26:54 | 显示全部楼层

找到了dht11的配置文件,发给你

DHT11.rar

1.82 KB, 下载次数: 63

qq1950361006,互帮互助,共同进步。
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
发表于 2019-1-14 12:54:08 | 显示全部楼层
kbq1950361006 发表于 2019-1-13 21:26
找到了dht11的配置文件,发给你

十分感谢
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2018-10-26
在线时间
6 小时
发表于 2019-1-14 15:01:36 | 显示全部楼层

对照过了,您的这个dth11配置和我现在的是一样的,但是还是谢谢您,接下来我自己在摸索吧。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-11 20:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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