野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9519|回复: 3

DHT11中断读取温湿度值程序卡死

[复制链接]
发表于 2017-6-13 12:24:40 | 显示全部楼层 |阅读模式
用火哥给的DHT11的驱动放到定时器6中读取就会卡死,试了试外部中断,一来中断也会卡死,搞不懂为什么,菜鸟求各位高手指教!
void TIM6_IRQHandler(void)
{
        //¶áζèμÄÖμ  
        time++;
        if(time == 1000)
        {
                time = 0;
                buffer++;
                if (DHT11_Read_TempAndHumidity(&DHT11_Data) == SUCCESS);
         {
            Temp_Init = Temp_Init + DHT11_Data.temp_int;
            Humi_Int = Humi_Int + DHT11_Data.humi_int;
         }
        }

        if(buffer == 10)
        {
                 buffer = 0;
           Temp_Init_Updata = Temp_Init/10;
           Humi_Init_Updata = Humi_Int/10;
                 time = 0;
        }

        if ( TIM_GetITStatus( BASIC_TIM, TIM_IT_Update) != RESET )
        {       
                TIM_ClearITPendingBit(BASIC_TIM , TIM_FLAG_Update);                   
        }
}

回复

使用道具 举报

发表于 2017-6-13 14:00:21 | 显示全部楼层
DHT11程序里有各种延时的,可能是跟那些延时有冲突
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-13 18:13:46 | 显示全部楼层
魚丸粗麵 发表于 2017-6-13 14:00
DHT11程序里有各种延时的,可能是跟那些延时有冲突

感觉是基本定时器中断打乱了DHT11用系统定时器做的时序,但是不知道怎么解决,还是不能在基本定时器中触发系统定时器。。不懂。。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-29 23:40 , Processed in 0.060171 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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