找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2623|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

STM32串口獲取dth11溫濕度 源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:962230 發(fā)表于 2021-8-25 17:13 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這是一個(gè)簡(jiǎn)單的stm32f103c8t6核心板獲取溫濕度并通過(guò)串口輸出數(shù)據(jù)。

單片機(jī)源程序如下:
  1. #include "stm32f10x.h"
  2. #include "usart.h"
  3. #include "delay.h"
  4. #include "DHT11.h"

  5. /*
  6. *讀取溫濕度傳感器DHT11的值,并用串口打印出來(lái)
  7. */

  8. void clock_init(void);

  9. u8 temp = 0,humi = 0;


  10. /**************************************************************************
  11. 函數(shù)名:int main(void)
  12. 參數(shù)說(shuō)明:無(wú)
  13. 返回值:無(wú)
  14. 函數(shù)作用:主函數(shù)
  15. ***************************************************************************/
  16. int main(void)
  17. {       
  18.          
  19.    clock_init();
  20.          uart_init(115200);                //初始化串口
  21.          printf("wecome to DHT11");
  22.          
  23.          
  24.          //初始化DHT11(有BUG,第一次上電總是失敗,按一下復(fù)位按鈕又能進(jìn)了)
  25.          if(!DHT11_Init()){
  26.                  printf("\r\n EEROR! THE DHT11 HAS NO RESPOND...");
  27.                  //while(1);
  28.          }
  29.          printf("\r\n THE DHT11 HAS RESPOND");
  30.          Delay_ms(10);                //這里延時(shí)10ms主要是因?yàn),剛剛接收到響?yīng)信息,要等DHT11發(fā)送完信息
  31.          
  32.          while(1)
  33.          {
  34.                  if(DHT11_Read_Data(&temp,&humi))
  35.                         printf("\r\n temp:%d,humi:%d",temp,humi);
  36.                  else
  37.                  printf("\r\n EEROR! THE DHT11 HAS NO RESPOND...");//由于是庫(kù)函數(shù)編程,不能準(zhǔn)確把握函數(shù)的執(zhí)行時(shí)間,
  38.                                                                                                                                                                                                                                         //所以會(huì)經(jīng)常出現(xiàn)這條警告信息
  39.                  Delay_ms(100);
  40.          }
  41.           
  42. }


  43. /**************************************************************************
  44. 函數(shù)名:void clock_init(void)
  45. 參數(shù)說(shuō)明:無(wú)
  46. 返回值:無(wú)
  47. 函數(shù)作用:開啟高速外部時(shí)鐘,
  48. ADCCLK設(shè)置為12MHZ,        SYSCLK設(shè)置為72Mhz,PCLK1設(shè)置為36MHZ,PKLC2設(shè)置為72mhz
  49. ***************************************************************************/
  50. void clock_init(void)
  51. {
  52.         RCC->CR = 0x1010000;
  53.         RCC->CFGR = 0x1DC402;
  54. }
復(fù)制代碼

所有代碼51hei附件下載:

DHT11C串口接收溫濕度信息.7z

183.27 KB, 下載次數(shù): 36, 下載積分: 黑幣 -5

這是一個(gè)簡(jiǎn)單的stm32f103c8t6核心板獲取溫濕度并通過(guò)串口輸出數(shù)據(jù)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:584195 發(fā)表于 2021-8-26 08:01 | 只看該作者
樓主,你的延時(shí)用的是什么,是阻塞式的延時(shí)還是用定時(shí)器做的延時(shí),很想學(xué)習(xí)一下!
回復(fù)

使用道具 舉報(bào)

板凳
ID:116773 發(fā)表于 2021-8-26 11:38 | 只看該作者
標(biāo)題有點(diǎn)誤導(dǎo),應(yīng)改為“STM32串口發(fā)送DHT11溫濕度”更貼切些。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表