資源簡介
DHT22 溫濕度傳感器+0.96寸oled (iic接口)+stm32 實(shí)現(xiàn)溫濕度檢測

代碼片段和文件信息
/*
//杜洋工作室出品
//洋桃系列開發(fā)板應(yīng)用程序
//關(guān)注微信公眾號(hào):洋桃電子
//洋桃開發(fā)板資料下載?www.DoYoung.net/YT?
//即可免費(fèi)看所有教學(xué)視頻,下載技術(shù)資料,技術(shù)疑難提問
//更多內(nèi)容盡在?杜洋工作室主頁?www.doyoung.net
*/
/*
《修改日志》
1-20170903
*/
#include?“adc.h“
vu16?ADC_DMA_IN[2];?//ADC數(shù)值存放的變量
void?ADC_DMA_Init(void){?//DMA初始化設(shè)置
DMA_InitTypeDef?DMA_InitStructure;//定義DMA初始化結(jié)構(gòu)體
DMA_DeInit(DMA1_Channel1);//復(fù)位DMA通道1
DMA_InitStructure.DMA_PeripheralbaseAddr?=?ADC1_DR_Address;?//定義?DMA通道外設(shè)基地址=ADC1_DR_Address
DMA_InitStructure.DMA_MemorybaseAddr?=?(u32)&ADC_DMA_IN;?//!!!定義DMA通道ADC數(shù)據(jù)存儲(chǔ)器(其他函數(shù)可直接讀此變量即是ADC值)
DMA_InitStructure.DMA_DIR?=?DMA_DIR_PeripheralSRC;//指定外設(shè)為源地址
DMA_InitStructure.DMA_BufferSize?=?2;//!!!定義DMA緩沖區(qū)大小(根據(jù)ADC采集通道數(shù)量修改)
DMA_InitStructure.DMA_PeripheralInc?=?DMA_PeripheralInc_Disable;//當(dāng)前外設(shè)寄存器地址不變
DMA_InitStructure.DMA_MemoryInc?=?DMA_MemoryInc_Enable;//!!!?當(dāng)前存儲(chǔ)器地址:Disable不變,Enable遞增(用于多通道采集)
DMA_InitStructure.DMA_PeripheralDataSize?=?DMA_PeripheralDataSize_HalfWord;//定義外設(shè)數(shù)據(jù)寬度16位
DMA_InitStructure.DMA_MemoryDataSize?=?DMA_MemoryDataSize_HalfWord;?//定義存儲(chǔ)器數(shù)據(jù)寬度16位
DMA_InitStructure.DMA_Mode?=?DMA_Mode_Circular;//DMA通道操作模式位環(huán)形緩沖模式
DMA_InitStructure.DMA_Priority?=?DMA_Priority_High;//DMA通道優(yōu)先級(jí)高
DMA_InitStructure.DMA_M2M?=?DMA_M2M_Disable;//禁止DMA通道存儲(chǔ)器到存儲(chǔ)器傳輸
DMA_Init(DMA1_Channel1?&DMA_InitStructure);//初始化DMA通道1
DMA_Cmd(DMA1_Channel1?ENABLE);?//使能DMA通道1
}
void?ADC_GPIO_Init(void){?//GPIO初始化設(shè)置
GPIO_InitTypeDef??GPIO_InitStructure;?
????RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOCENABLE);???????
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1?ENABLE);//使能DMA時(shí)鐘(用于ADC的數(shù)據(jù)傳送)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1?ENABLE);//使能ADC1時(shí)鐘
????GPIO_InitStructure.GPIO_Pin?=?ADC_CH6?|?ADC_CH7;?//!!!選擇端口????????????????????????
????GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AIN;?//選擇IO接口工作方式???????
GPIO_Init(ADCPORT?&GPIO_InitStructure);
}
void?ADC_Configuration(void){?//初始化設(shè)置
ADC_InitTypeDef?ADC_InitStructure;//定義ADC初始化結(jié)構(gòu)體變量
ADC_GPIO_Init();//GPIO初始化設(shè)置
ADC_DMA_Init();//DMA初始化設(shè)置
ADC_InitStructure.ADC_Mode?=?ADC_Mode_Independent;//ADC1和ADC2工作在獨(dú)立模式
ADC_InitStructure.ADC_ScanConvMode?=?ENABLE;?//使能掃描
ADC_InitStructure.ADC_ContinuousConvMode?=?ENABLE;//ADC轉(zhuǎn)換工作在連續(xù)模式
ADC_InitStructure.ADC_ExternalTrigConv?=?ADC_ExternalTrigConv_None;//有軟件控制轉(zhuǎn)換
ADC_InitStructure.ADC_DataAlign?=?ADC_DataAlign_Right;//轉(zhuǎn)換數(shù)據(jù)右對(duì)齊
ADC_InitStructure.ADC_NbrOfChannel?=?2;//!!!順序進(jìn)行規(guī)則轉(zhuǎn)換的ADC通道的數(shù)目(根據(jù)ADC采集通道數(shù)量修改)
ADC_Init(ADC1?&ADC_InitStructure);?//根據(jù)ADC_InitStruct中指定的參數(shù)初始化外設(shè)ADCx的寄存器
//設(shè)置指定ADC的規(guī)則組通道,設(shè)置它們的轉(zhuǎn)化順序和采樣時(shí)間
//ADC1ADC通道x規(guī)則采樣順序值為y采樣時(shí)間為28周期 ?
ADC_RegularChannelConfig(ADC1?ADC_Channel_6?1?ADC_SampleTime_28Cycles5);//!!!?ADC1選擇信道x采樣順序y采樣時(shí)間n個(gè)周期
ADC_RegularChannelConfig(ADC1?ADC_Channel_7?2?ADC_SampleTime_28Cycles5);//!!!?ADC1選擇信道x采樣順序y采樣時(shí)間n個(gè)周期
ADC_DMACmd(ADC1?ENABLE);//?開啟ADC的DMA支持(要實(shí)現(xiàn)DMA功能,還需獨(dú)立配置DMA通道等參數(shù))
ADC_Cmd(ADC1?ENABLE);//使能ADC1
ADC_ResetCalibration(ADC1);?//重置ADC1校準(zhǔn)寄存器
while(ADC_GetResetCalibrationStatu
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????4288??2018-04-10?15:06??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\adc\adc.c
?????文件????????557??2018-04-08?10:55??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\adc\adc.h
?????文件???????1452??2018-09-03?13:14??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\delay\delay.c
?????文件????????204??2017-12-26?02:25??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\delay\delay.h
?????文件???????1304??2017-12-31?01:20??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\flash\flash.c
?????文件????????191??2017-12-31?01:09??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\flash\flash.h
?????文件???????5812??2018-02-11?01:47??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\i2c\i2c.c
?????文件????????601??2018-02-27?14:27??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\i2c\i2c.h
?????文件???????4233??2018-05-21?23:04??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\nvic\NVIC.c
?????文件????????140??2018-05-21?22:00??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\nvic\NVIC.h
?????文件???????2380??2018-06-22?00:09??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\pwm\pwm.c
?????文件????????104??2018-06-19?01:30??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\pwm\pwm.h
?????文件???????7445??2017-08-27?19:38??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\rtc\rtc.c
?????文件????????615??2018-01-19?02:10??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\rtc\rtc.h
?????文件???????2755??2017-09-20?01:59??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\spi\spi.c
?????文件????????346??2017-09-20?01:54??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\spi\spi.h
?????文件???????3039??2018-03-10?22:43??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\sys\sys.c
?????文件???????2205??2017-08-27?20:05??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\sys\sys.h
?????文件??????11212??2018-04-15?21:34??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\usart\usart.c
?????文件???????1430??2018-03-16?11:08??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\Basic\usart\usart.h
?????文件??????17273??2010-06-07?10:25??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\CMSIS\core_cm3.c
?????文件??????85714??2011-02-09?14:59??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\CMSIS\core_cm3.h
?????文件?????633941??2011-03-10?10:51??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\CMSIS\stm32f10x.h
?????文件??????36557??2011-03-10?10:51??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\CMSIS\system_stm32f10x.c
?????文件???????2085??2011-03-10?10:51??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\CMSIS\system_stm32f10x.h
?????文件???????3576??2018-09-03?13:25??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\core_cm3.crf
?????文件?????????89??2018-09-03?13:25??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\core_cm3.d
?????文件??????10428??2018-09-03?13:25??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\core_cm3.o
?????文件?????347132??2018-09-03?13:25??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\delay.crf
?????文件???????1196??2018-09-03?13:25??DHT22?-?STM32\1-2-39-DHT11溫濕度顯示程序\delay.d
............此處省略366個(gè)文件信息
評(píng)論
共有 條評(píng)論