发 帖  

ucosiii-DHT11任务切换时延时函数不同会出现错误该怎么办?

905 DHT11 延时函数
2019-9-9 03:22:28   1 评论 分享淘帖 邀请回答 举报
1 条评论
  • 2023-4-29 13:55

    两种选择,
    1、关闭systick中断,因为在SysTick_Handler中依然会切换任务,导致DHT11的读取不正确。
    2、直接用while写delay函数,
    //微秒级的延时
    void delayus(u16 time)
    {   
       u16 i=0;  
       while(time--)
       {
          i=10;  //自己定义
          while(i--) ;   
       }
    }

    //毫秒级的延时
    void delayms(u16 time)
    {   
       u16 i=0;  
       while(time--)
       {
          i=12000;  //自己定义
          while(i--) ;   
       }
    }
    实测可行,刚用完。

1个回答
2019-9-9 09:24:24 评论

举报

只有小组成员才能发言,加入小组>>

5505个成员聚集在这个小组

加入小组

创建小组步骤

快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@hauqiu.com
关闭

站长推荐 上一条 /5 下一条

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