1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標(biāo)題: dht11 k60 stm32的時(shí)序問題 [打印本頁]

作者: zhiyu_zhimeiyu    時(shí)間: 2018-7-17 21:31
標(biāo)題: dht11 k60 stm32的時(shí)序問題
DHT11對時(shí)序要求很嚴(yán)格,延時(shí)必須準(zhǔn)確差異少下面貼上我修改后的代碼
void DHT11WriteStart(void)//開始標(biāo)志
{
    DHT11_GPIO_OUT(); //輸出
    gpio_set (DTH11_PORT, 1);
    gpio_set (DTH11_PORT, 0);
    DELAY_MS(20);
    gpio_set (DTH11_PORT, 1);
    DELAY_US(30) ;
    DHT11_GPIO_IN(); //主機(jī)發(fā)送信號等待

}


u8 DHT11ReadByte(void)
{
  u8 temp=0,i,cout;
for(i=0;i<8;i++)
  {

    while( gpio_get(DTH11_PORT)==0);//DHT11輸出低電平
     DELAY_US(60) ;

    if(gpio_get(DTH11_PORT)==1) //60us是否高電平,是標(biāo)志1
      {
       while(gpio_get(DTH11_PORT)==1)
        temp|=(u8)(0x01<<(7-i));

       }

   else //否表示0
    {
      temp&=(u8)~(0x01<<(7-i));

   }


}
return temp;
}

char a[5];
int temp;


//時(shí)序圖編寫的接受函數(shù)
void DHT11Read(void)
{   
    int count=0;
    DHT11WriteStart();
    if(DHT11_DATA_IN==0)
      {
       while(gpio_get(DTH11_PORT)==0);

        while(gpio_get(DTH11_PORT) ==1);

        DHT11.RH= DHT11ReadByte();
        DHT11.RL= DHT11ReadByte();
        DHT11.TH= DHT11ReadByte();
        DHT11.TL= DHT11ReadByte();
        DHT11.sum= DHT11ReadByte();

        DHT11_GPIO_OUT();
        DHT11_DATA_OUT=1;
      }

}
到此結(jié)束,剩下的代碼也就很容易的。
本壇也有很多類似的stm32 的DHT11的類似,所以我發(fā)了個(gè)k60
有什么問題評論區(qū)就行了,我看到了就會(huì)回復(fù)了。






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