STM32F103開發板 DHT11溫濕度DS18B20 氣體MQ-2光敏聲控雨滴傳感器實驗程序**--------------------------------------------------------------------------------------------------------** Created by: FiYu** Created date: 2015-12-12** Version: 1.0** Descriptions: DHT11溫濕度傳感器實驗 **--------------------------------------------------------------------------------------------------------** Modified by: FiYu** Modified date: ** Version: ** Descriptions: ** Rechecked by: **********************************************************************************************************/#include "stm32f10x.h"#include "delay.h"#include "dht11.h"#include "usart.h"DHT11_Data_TypeDef DHT11_Data;/************************************************************************************** * 描 述 : GPIO/USART1初始化配置 * 入 參 : 無 * 返回值 : 無 **************************************************************************************/void GPIO_Configuration(void){ GPIO_InitTypeDef GPIO_InitStructure; /* Enable the GPIO_LED Clock */ RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO , ENABLE); GPIO_DeInit(GPIOB); //將外設GPIOA寄存器重設為缺省值 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出 GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_DeInit(GPIOA); //將外設GPIOA寄存器重設為缺省值 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //推挽輸出 GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空輸入 GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_SetBits(GPIOB , GPIO_Pin_9); //初始狀態,熄滅指示燈LED1}/************************************************************************************** * 描 述 : 串口顯示實時溫濕度 * 入 參 : 無 * 返回值 : 無 **************************************************************************************/void DHT11_SCAN(void){ if( Read_DHT11(&DHT11_Data)==SUCCESS) { printf("\r\n讀取DHT11成功!\r\n\r\n濕度為%d.%d %RH ,溫度為 %d.%d℃ \r\n",\ DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci); //printf("\r\n 濕度:%d,溫度:%d \r\n" ,DHT11_Data.humi_int,DHT11_Data.temp_int); } else { printf("Read DHT11 ERROR!\r\n"); }}/************************************************************************************** * 描 述 : MAIN函數 * 入 參 : 無 * 返回值 : 無 **************************************************************************************/int main(void){ SystemInit(); //設置系統時鐘72MHZ GPIO_Configuration(); USART1_Init(); //初始化配置TIM DHT11_GPIO_Config(); // 初始化溫濕度傳感器PB1引腳初始時為推挽輸出 GPIO_ResetBits(GPIOB , GPIO_Pin_9); delay_ms(500); while(1) { GPIO_SetBits(GPIOB , GPIO_Pin_9); DHT11_SCAN(); //實時顯示溫濕度 delay_ms(1500); } }
上傳時間: 2022-05-03
上傳用戶:得之我幸78
一建立STM32cubeMX工程1.建立新工程,選擇芯片STM32F302CCTx2. 在Pinout 中時鐘配置為高速外部時鐘, UART配置為異步通信, cube 會自動分配引腳。3.Clock Configuration 中配置如下4.configuration 中點擊USART1可進入配置在USART1 configuration 中Parameter Settings 可以配置波特率,發送數據字長,奇偶校驗位和停止位等。NVIC Setting 可以配置中斷優先級。5.生成keil 軟件代碼點擊工具欄中的齒輪按鈕,可以選擇代碼的開發平臺, ok 結束。(文件保存路徑一定要是全英文的)進過了我們一系列的配置, cube 會為我們自動生成keil 軟件的代碼,代碼中包括工程所需的固件庫,配套的頭文件,啟動文件及用戶文件。在main.c 中包括了我們工程所需外設的初始化,包括了系統時鐘初始化,中斷初始化, GPIO初始化, USART1初始化, HAL庫初始化。我們只需要在main.c 中添加我們自己的代碼就可以了。二keil 軟件代碼及HAL庫使用UART_HandleTypeDef huart1;生成的代碼中有聲明一個USART處理的結構體HAL庫中串口的數據收發有四個函數HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_tSize, uint32_t Timeout);HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_tSize, uint32_t Timeout);指針huart 指向我們之前定義的USART處理結構體, 我們將在函數中對結構體中的參數進行操作。pDate 是我們自己定義的數據發送接收緩存, Size 發送接收數據個數, Timeout 超時持續時間。UART狀態的結構體:我們在發送接收函數中要經常對USART的狀態進行判斷,以便我們對函數結構體中的參數進行操作
標簽: stm32cubemx 串口
上傳時間: 2022-06-22
上傳用戶:shjgzh
STM32F0_HAL庫驅動MPU6050源代碼,此代碼配置了MPU6050初始化函數,I2C由PB6、PB7口模擬輸出,采集了MPU6050三個方向的加速度,三個角速度和溫度值,并通過USART1將數據上傳,其中前6個數據為數字量,溫度為轉換后的實際溫度值(單位:攝氏度)
上傳時間: 2022-07-07
上傳用戶:qingfengchizhu
eeworm.com VIP專區 單片機源碼系列 4資源包含以下內容:1. C51 MODBUS 實現.rar2. 51單片機 計算器 1602顯示.rar3. 51單片機電子密碼鎖.doc4. 12864LCD電子鐘資料包_小賴提供(1).rar5. 超聲波測距C程序.zip6. 單片機的頻率計.rar7. Proteus的8051仿真經典實例.rar8. stc單片機頭文件.rar9. CX20106A中文資料.pdf10. EWB經典實用列子.rar11. 數字溫濕度傳感器SHT1 SHT7系列代碼.pdf12. PC與AVR通過D12進行USB通訊全套資料.rar13. 51單片機各類源程序集錦.rar14. 用C51編寫的中文拼音輸入法.zip15. 51系列單片機的ModbusRTU.rar16. 51單片機PWM控制LED的亮度.doc17. ADF4106.pdf18. 字庫提取程序.zip19. STM32 uCOS+uCGUI(FSMC).rar20. 基于51單片機的循跡小車C語言程序.rar21. AVR+CH375+VS1003.rar22. PWM調速的C語言程序編寫.doc23. LM4229電子書閱讀器.rar24. 16×16點陣(滾動顯示).rar25. 步進電機控制程序.rar26. 89c52sht10溫濕度采集.rar27. 12864液晶滾動顯示.rar28. LCD12864多級菜單仿真.rar29. 壓力傳感器mpx4115驅動程序.rar30. 電子密碼鎖24C02.rar31. 基于51單片機的數字頻率計.rar32. 用虛擬串口仿真LPC2138(UART0).zip33. AVR單片機RS232通信接口應用設計.rar34. tlc1543 1602液晶顯示 +c語言.rar35. 32*64點陣.doc36. CC2430溫度采集.rar37. 20多個proteus仿真的例子.rar38. 雙色點陣電路圖及原理 代碼.rar39. 基于51單片機制作的MP3.rar40. 單片機波形發生器電路.doc41. stm32 lcd 示波器源碼.rar42. 51最小系統.rar43. msp430f149 c語言例程.zip44. STM8 lcd.doc45. LM3S ADC例程多種采樣觸發方式.zip46. LM3S系列ADC例程內置的溫度傳感器.zip47. LM3S系列SSI例程:掃描8位動態數碼管.zip48. LM3S系列IAR 4.42A工程模板.zip49. LM3S系列UART例程:UART簡單收發.zip50. LM3S系列UART發送FIFO觸發中斷.zip51. LM3S系列UART例程:發送FIFO工作原理.zip52. LM3S系列UART例程:以FIFO中斷方式發送.zip53. LM3S系列UART例程:以FIFO中斷方式接收.zip54. LM3S系列UART例程:以FIFO中斷方式接收.zip55. LM3S系列基本例程:LED閃爍發光.zip56. LM3S系列Hibernate例程:冬眠RTC喚醒.rar57. LM3S系列Flash例程:當作EEPROM.zip58. 新手必備的stm8例程.rar59. STM32中文固件庫.rar60. 單片機多級菜單編程思想.doc61. LM3S系列I2C例程:數字溫度傳感器LM75A.zip62. 基于LPC21XX下的 keil Startup.s分析.doc63. 24C02程序.doc64. uip1.0 C51源代碼.rar65. STM庫.rar66. 51實例大全.rar67. proteus與keil級聯的VDM51.dll.rar68. T9拼音輸入法源代碼.doc69. 完整msp430驅動12864液晶程序.rar70. PID算法 C語言.rar71. 基于uIP框架的8051tcpip源碼.rar72. AVR利用USI模塊作為I2C從機.zip73. AVR利用TWI模塊作為I2C從機.zip74. uzz9001驅動程序.rar75. 51單片機與三菱PLC串口通訊.doc76. MMA7455加速度傳感器51例程.rar77. 1602顯示程序(51版).rar78. usb轉rs232.rar79. 51單片機常用模塊程序代碼.rar80. 1602液晶驅動源程序.rar81. 智能澆灌系統源代碼.rar82. VS1003驅動.pdf83. AD/DA轉換.rar84. STM32 DAC_產生正弦波.rar85. STM32 USART1 2 3三串口收發.rar86. STM32 I2C 模擬.rar87. STM32 FSMC中文資料及FSMC控制LCD例程.rar88. LM3s8962 以太網速度測試.rar89. cortex-m0 LCD1602程序.rar90. 51電子鐘.rar91. STM32F2xx DMA配置例程.rar92. STM32F2xx FSMC配置例程.rar93. STM32F2xx GPIO配置例程.rar94. STM32F2xx 標準固件庫.rar95. STM32F103C8-PKT評估板例程.rar96. AVR單片機C語言程序設計實例精粹.rar97. C51共陽七段數碼管動態顯示.rar98. STM32攝像頭程序.rar99. freescale k40/k60 adc 例程.rar100. freescale k40/k60 12bit dac 例程.rar
上傳時間: 2013-05-15
上傳用戶:eeworm
VIP專區-嵌入式/單片機編程源碼精選合集系列(60)資源包含以下內容:1. 16 * 16 的127個ascii碼的點陣字庫.2. ARM MP3解碼源代碼 實現MP3播放應用.3. 本文介基于CPLD和USB的多路溫度數據采集系統.4. 89c51+sj1000 的發送例程 can2.0 擴展幀.5. 一個很好的串口類.6. cpld狀態及設計。 很好的文章。 要設計vhdl狀態機的話.7. c51formenu.c該文件是一個用c51編寫一個menu的例子..8. MSP430F449 子程序,MSP-FET430P440 Demo - USART1 UART 38400 Echo ISR, DCO SMCLK..9. MSP-FET430P440 Demo - WDT Toggle P5.1 Interval overflow ISR, DCO SMCLK.10. MSP-FET430P440 Demo - WDT Toggle P5.1 Interval overflow ISR, 32kHz ACLK.11. MSP-FET430P440 Demo - BasicTimer Toggle P5.1 using ISR, DCO SMCLK.12. MSP-FET430P440 Demo - BasicTimer Toggle P5.1 using ISR, 32kHz SMCLK.13. MSP-FET430P440 Demo - Timer_A PWM TA1-2 upmode, DCO SMCLK.14. 恒頤arm9原理圖(protel),直接可用.15. protel中CPLD器件的庫可以方便的放進protel中.16. 這是一個以太網接口RTL8019AS和電路圖一份.希望對大家有點參考.17. 關于lpc2292外接ds1302時鐘芯片的驅動程序.18. 本文分別以GPI0口直接連接、串并轉換連接、CPLD分部連接三種方法闡述了無外部總線的Philips ARM微控制器LPC2l0X與點陣圖形液晶顯示器的接口設計,并給出了硬件電路框圖和主要程序。.19. arm 板的原理圖 是三星的.20. BSP-15:高性能媒體處理DSP芯片開放指南說明文檔.21. 如果您剛接觸嵌入式開發.22. TMS320LF2407A原理圖.23. 嵌入式arm-linux 2.6內核 s3c2410 的i2c總線驅動程序.24. 輸入兩組數.25. 應用VHDL、CPLD、EDA開發軟件設計數字系統,能夠顯著增強設計的靈活性,提高產品的性能,減輕設計的工作量,縮短設計周期。傳統的“固定功能集成塊+連線”的設計方法正逐步地縮小應用范圍,而基于芯片的.26. 使用lpc2114arm7內核的兩個工程實例,采用ads編譯器進行編譯.27. 嵌入式系統開發的中英文詞匯表并有詳細注解,具有參考價值.28. 本程序僅供廣大電子愛好者制作MP3學習和參考使用.29. arm-linux下.30. 適用于ucosii操作系統的文件系統.31. LCD 控制源代碼.32. 用java寫的GUI Analog Clock,用上了Observer,可以更改時間.33. s3c2410平臺 直流電機有用的demo!大家共享.34. s3c2410平臺 步進電機的demo.35. s3c2410平臺can總線的一個例子.36. 音樂程序主要是控制頻率而達到效果.37. 240x128 graphic mode/Driver ic:t6963C writed by hawk liu 2001 Aug. 22 1/128 duty 1/12.3 bia.38. USB芯片CH375EVT 資料源程序.39. 51 模擬SPI 51 模擬SPI 51 模擬SPI 51 模擬SPI.40. 基于時鐘芯片DSC12C887的實時時鐘系統.
上傳時間: 2013-04-15
上傳用戶:eeworm