• 大小: 4.4MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2023-08-11
  • 语言: 其他
  • 标签: stm32  

资源简介

DHT22 温湿度传感器+0.96寸oled (iic接口)+stm32 实现温湿度检测

资源截图

代码片段和文件信息


/*
//杜洋工作室出品
//洋桃系列开发板应用程序
//关注微信公众号:洋桃电子
//洋桃开发板资料下载 www.DoYoung.net/YT 
//即可免费看所有教学视频,下载技术资料,技术疑难提问
//更多内容尽在 杜洋工作室主页 www.doyoung.net
*/

/*
《修改日志》
1-20170903


*/



#include “adc.h“

vu16 ADC_DMA_IN[2]; //ADC数值存放的变量

void ADC_DMA_Init(void){ //DMA初始化设置
DMA_InitTypeDef DMA_InitStructure;//定义DMA初始化结构体
DMA_DeInit(DMA1_Channel1);//复位DMA通道1
DMA_InitStructure.DMA_PeripheralbaseAddr = ADC1_DR_Address; //定义 DMA通道外设基地址=ADC1_DR_Address
DMA_InitStructure.DMA_MemorybaseAddr = (u32)&ADC_DMA_IN; //!!!定义DMA通道ADC数据存储器(其他函数可直接读此变量即是ADC值)
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;//指定外设为源地址
DMA_InitStructure.DMA_BufferSize = 2;//!!!定义DMA缓冲区大小(根据ADC采集通道数量修改)
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//当前外设寄存器地址不变
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;//!!! 当前存储器地址:Disable不变,Enable递增(用于多通道采集)
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;//定义外设数据宽度16位
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; //定义存储器数据宽度16位
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;//DMA通道操作模式位环形缓冲模式
DMA_InitStructure.DMA_Priority = DMA_Priority_High;//DMA通道优先级高
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;//禁止DMA通道存储器到存储器传输
DMA_Init(DMA1_Channel1 &DMA_InitStructure);//初始化DMA通道1
DMA_Cmd(DMA1_Channel1 ENABLE); //使能DMA通道1
}
void ADC_GPIO_Init(void){ //GPIO初始化设置
GPIO_InitTypeDef  GPIO_InitStructure; 
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOCENABLE);       
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1 ENABLE);//使能DMA时钟(用于ADC的数据传送)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 ENABLE);//使能ADC1时钟
    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){ //初始化设置
ADC_InitTypeDef ADC_InitStructure;//定义ADC初始化结构体变量
ADC_GPIO_Init();//GPIO初始化设置
ADC_DMA_Init();//DMA初始化设置
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//ADC1和ADC2工作在独立模式
ADC_InitStructure.ADC_ScanConvMode = ENABLE; //使能扫描
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;//ADC转换工作在连续模式
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//有软件控制转换
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//转换数据右对齐
ADC_InitStructure.ADC_NbrOfChannel = 2;//!!!顺序进行规则转换的ADC通道的数目(根据ADC采集通道数量修改)
ADC_Init(ADC1 &ADC_InitStructure); //根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器
//设置指定ADC的规则组通道,设置它们的转化顺序和采样时间
//ADC1ADC通道x规则采样顺序值为y采样时间为28周期  
ADC_RegularChannelConfig(ADC1 ADC_Channel_6 1 ADC_SampleTime_28Cycles5);//!!! ADC1选择信道x采样顺序y采样时间n个周期
ADC_RegularChannelConfig(ADC1 ADC_Channel_7 2 ADC_SampleTime_28Cycles5);//!!! ADC1选择信道x采样顺序y采样时间n个周期

ADC_DMACmd(ADC1 ENABLE);// 开启ADC的DMA支持(要实现DMA功能,还需独立配置DMA通道等参数)
ADC_Cmd(ADC1 ENABLE);//使能ADC1
ADC_ResetCalibration(ADC1); //重置ADC1校准寄存器
while(ADC_GetResetCalibrationStatu

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       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个文件信息

评论

共有 条评论