找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1428|回复: 0
打印 上一主题 下一主题
收起左侧

stm32使用dht11传感器C语言程序while内只能执行一次读取?

[复制链接]
跳转到指定楼层
楼主
弄了野火的c8t6核心板,使用了他们的dht11程序,同样的程序在我自己的工程里加上了希望实现串口显示温湿度的功能,但现在只能执行一次读取温湿度如图:
去掉delay的时候:

该怎么找到原因在哪里呢,改一天了,没有头绪。
附上代码:
  1. int main(void)
  2. {
  3.         DHT11_Data_TypeDef DHT11_Data;
  4.         
  5.         
  6.         /* 初始化系统定时器 */
  7.         SysTick_Init();

  8.         USART_Config();//初始化串口1
  9.         printf("\r\n***dht11 温湿度传感器***\r\n");

  10.         /*初始化DTT11的引脚*/
  11.         DHT11_Init ();
  12.         
  13.         while(1)
  14.         {        
  15.                         /*调用DHT11_Read_TempAndHumidity读取温湿度,若成功则输出该信息*/
  16.                         if( DHT11_Read_TempAndHumidity ( & DHT11_Data ) == SUCCESS)
  17.                         {
  18.                                 printf("\r\n读取DHT11成功!\r\n\r\n湿度为%d.%d %RH ,温度为 %d.%d℃ \r\n",\
  19.                                 DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci);
  20.                         }                        
  21.                         else
  22.                         {
  23.                                 printf("Read DHT11 ERROR!\r\n");
  24.                         }
  25.                         Delay_ms(2000);
  26.                         printf("\r\n测试测试");


  27.         }

  28.         
  29. }
复制代码
最底下一行输出测试的是我在调试程序的时候外加的,不论有没有去掉delay “测试测试”都是不会输出的

有大佬可以提供一个思路吗附上两个程序压缩包,铭感五内。

2.png (25.59 KB, 下载次数: 61)

去掉delay时

去掉delay时

1.png (4.24 KB, 下载次数: 54)

有delay时

有delay时

代码.7z

833.75 KB, 下载次数: 6

包含我的程序以及参考野火的串口显示温度程序

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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