欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: DHT11+stm2f103c8t6小例程 [打印本頁]

作者: 創新性實驗    時間: 2018-11-5 11:05
標題: DHT11+stm2f103c8t6小例程
stm32關于DHT11與12864的例程

單片機源程序如下:
  1. #include "dht11.h"
  2. #include "delay.h"

  3. //////////////////////////////////////////////////////////////////////////////////         
  4. //DHT11數字溫濕度傳感器驅動代碼          
  5. //VERS:1.0
  6. //DATE:2014/03/09                                                  
  7. //////////////////////////////////////////////////////////////////////////////////
  8.       
  9. //復位DHT11
  10. void DHT11_Rst(void)          
  11. {                 
  12.         DHT11_IO_OUT();         //SET OUTPUT
  13.     DHT11_DQ_OUT=0;         //拉低DQ
  14.     delay_ms(20);            //拉低至少18ms
  15.     DHT11_DQ_OUT=1;         //DQ=1
  16.         delay_us(30);             //主機拉高20~40us
  17. }
  18. //等待DHT11的回應
  19. //返回1:未檢測到DHT11的存在
  20. //返回0:存在
  21. u8 DHT11_Check(void)           
  22. {   
  23.         u8 retry=0;
  24.         DHT11_IO_IN();//SET INPUT         
  25.     while (DHT11_DQ_IN&&retry<100)//DHT11會拉低40~80us
  26.         {
  27.                 retry++;
  28.                 delay_us(1);
  29.         };         
  30.         if(retry>=100)return 1;
  31.         else retry=0;
  32.     while (!DHT11_DQ_IN&&retry<100)//DHT11拉低后會再次拉高40~80us
  33.         {
  34.                 retry++;
  35.                 delay_us(1);
  36.         };
  37.         if(retry>=100)return 1;            
  38.         return 0;
  39. }
  40. //從DHT11讀取一個位
  41. //返回值:1/0
  42. u8 DHT11_Read_Bit(void)                          
  43. {
  44.         u8 retry=0;
  45.         while(DHT11_DQ_IN&&retry<100)//等待變為低電平
  46.         {
  47.                 retry++;
  48.                 delay_us(1);
  49.         }
  50.         retry=0;
  51.         while(!DHT11_DQ_IN&&retry<100)//等待變高電平
  52.         {
  53.                 retry++;
  54.                 delay_us(1);
  55.         }
  56.         delay_us(40);//等待40us
  57.         if(DHT11_DQ_IN)return 1;
  58.         else return 0;                  
  59. }
  60. //從DHT11讀取一個字節
  61. //返回值:讀到的數據
  62. u8 DHT11_Read_Byte(void)   
  63. {        
  64.     u8 i,dat;
  65.     dat=0;
  66.         for (i=0;i<8;i++)
  67.         {
  68.                    dat<<=1;
  69.             dat|=DHT11_Read_Bit();
  70.     }                                                    
  71.     return dat;
  72. }
  73. //從DHT11讀取一次數據
  74. //temp:溫度值(范圍:0~50°)
  75. //humi:濕度值(范圍:20%~90%)
  76. //返回值:0,正常;1,讀取失敗
  77. u8 DHT11_Read_Data(u8 *temp,u8 *humi)   
  78. {        
  79.         u8 buf[5];
  80.         u8 i;
  81.         DHT11_Rst();
  82.         if(DHT11_Check()==0)
  83.         {
  84.                 for(i=0;i<5;i++)//讀取40位數據
  85.                 {
  86.                         buf[i]=DHT11_Read_Byte();
  87.                 }
  88.                 if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])
  89.                 {
  90.                         *humi=buf[0];
  91.                         *temp=buf[2];
  92.                 }
  93.         }else return 1;
  94.         return 0;            
  95. }
  96. //初始化DHT11的IO口 DQ 同時檢測DHT11的存在
  97. //返回1:不存在
  98. //返回0:存在             
  99. u8 DHT11_Init(void)
  100. {         
  101.         GPIO_InitTypeDef  GPIO_InitStructure;
  102.        
  103.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);         //使能PG端口時鐘
  104.        
  105.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;                                 //PG11端口配置
  106.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽輸出
  107.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  108.         GPIO_Init(GPIOG, &GPIO_InitStructure);                                 //初始化IO口
  109.         GPIO_SetBits(GPIOG,GPIO_Pin_11);                                                 //PG11 輸出高
  110.                             
  111.         DHT11_Rst();  //復位DHT11
  112.         return DHT11_Check();//等待DHT11的回應
  113. }
復制代碼

所有資料51hei提供下載:
STM32 DH11 12864.rar (275.24 KB, 下載次數: 45)



作者: 工學院陳偉霆    時間: 2018-11-5 21:31
請問你運行過嗎,把正點原子的程序改一下就發出來,這是在騙下載嗎
作者: 成信二狗    時間: 2019-6-18 15:47
過分了兄弟
作者: 郭大俠0-0    時間: 2019-10-10 23:38
太過分了什么東西




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1