资源简介

一个完整的KEIL5项目包,核心是stm32f103c8t6,通信模块是lora,采集有温湿度、甲醛、pm2.5,气压,海拔,可以直接下载,连线在代码中有说明,可以直接用。如果有意见可以向我提出,相互学习,共同进步。

资源截图

代码片段和文件信息

 #include “adc.h“
 #include “delay.h“
 #include “usart.h“
   
   
//初始化ADC
//这里我们仅以规则通道为例
//我们默认将开启通道0~3

void  Adc_Init(void)

ADC_InitTypeDef ADC_InitStructure; 
GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1  ENABLE );   //使能ADC1通道时钟
 

RCC_ADCCLKConfig(RCC_PCLK2_Div6);   //设置ADC分频因子6 72M/6=12ADC最大时间不能超过14M

//PA0 作为模拟通道输入引脚                         
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //模拟输入引脚
GPIO_Init(GPIOA &GPIO_InitStructure);
  
//PB1 作为脉冲输出引脚   
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;                  
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;           
GPIO_Init(GPIOB &GPIO_InitStructure);
GP2Y_High;

ADC_DeInit(ADC1);  //复位ADC1将外设 ADC1 的全部寄存器重设为缺省值

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC工作模式:ADC1和ADC2工作在独立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //模数转换工作在单通道模式
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //模数转换工作在单次转换模式
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //转换由软件而不是外部触发启动
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC数据右对齐
ADC_InitStructure.ADC_NbrOfChannel = 1; //顺序进行规则转换的ADC通道的数目
ADC_Init(ADC1 &ADC_InitStructure); //根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器   

  
ADC_Cmd(ADC1 ENABLE); //使能指定的ADC1

ADC_ResetCalibration(ADC1); //使能复位校准  
 
while(ADC_GetResetCalibrationStatus(ADC1)); //等待复位校准结束

ADC_StartCalibration(ADC1);  //开启AD校准
 
while(ADC_GetCalibrationStatus(ADC1));  //等待校准结束
 
// ADC_SoftwareStartConvCmd(ADC1 ENABLE); //使能指定的ADC1的软件转换启动功能



}   
//获得ADC值
//ch:通道值 0~3
u16 Get_Adc(u8 ch)   
{
   //设置指定ADC的规则组通道,一个序列,采样时间
ADC_RegularChannelConfig(ADC1 ch 0 ADC_SampleTime_239Cycles5 ); //ADC1ADC通道采样时间为239.5周期        
  
ADC_SoftwareStartConvCmd(ADC1 ENABLE); //使能指定的ADC1的软件转换启动功能
 
while(!ADC_GetFlagStatus(ADC1 ADC_FLAG_EOC ));//等待转换结束

return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果
}

float GetGP2Y(void)
{
    u32 AD_PM;  
  double pm; 
    GP2Y_Low;
    delay_us(280);
    AD_PM = Get_Adc(ADC_Channel_0); //PA0
    delay_us(40);
    GP2Y_High;
    delay_us(9680);
    pm = 0.17*AD_PM-0.1; //转换公式
//    printf(“%f\n“pm);
return pm;


u16 Get_GP2Y_Average(u8 times)
{
u32 pm_val=0;
u8 t;
for(t=0;t {
pm_val+=GetGP2Y();
delay_ms(5);
}
return pm_val/times;

































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

     文件       2893  2018-10-04 00:34  空气节点V1.1\BSP\adc.c

     文件        273  2018-10-03 23:38  空气节点V1.1\BSP\adc.h

     文件       3038  2018-12-17 17:22  空气节点V1.1\BSP\adc_dma.c

     文件       1832  2018-12-17 17:22  空气节点V1.1\BSP\adc_dma.h

     文件       3552  2017-09-08 08:06  空气节点V1.1\BSP\BMP180.c

     文件        768  2017-09-07 18:41  空气节点V1.1\BSP\BMP180.h

     文件       7930  2015-05-19 13:20  空气节点V1.1\BSP\delay.c

     文件       1991  2015-05-19 13:20  空气节点V1.1\BSP\delay.h

     文件       1874  2018-10-03 22:43  空气节点V1.1\BSP\dht11.c

     文件        619  2018-10-03 22:43  空气节点V1.1\BSP\dht11.h

     文件       1180  2013-10-09 00:16  空气节点V1.1\BSP\led.c

     文件        572  2013-10-09 00:16  空气节点V1.1\BSP\led.h

     文件       3070  2017-09-07 19:25  空气节点V1.1\BSP\myiic.c

     文件       1354  2015-04-29 11:46  空气节点V1.1\BSP\myiic.h

     文件      14618  2017-03-22 15:56  空气节点V1.1\BSP\RTC_Time.c

     文件       1750  2010-11-01 12:39  空气节点V1.1\BSP\RTC_Time.h

     文件        876  2015-03-12 20:20  空气节点V1.1\BSP\sys.c

     文件       2781  2018-12-28 16:08  空气节点V1.1\BSP\sys.h

     文件       3903  2018-10-03 22:29  空气节点V1.1\BSP\usart.c

     文件        238  2013-09-14 00:32  空气节点V1.1\BSP\usart.h

     文件       1354  2013-09-14 00:32  空气节点V1.1\config\stm32f10x_flash.icf

     文件       1422  2013-09-14 00:32  空气节点V1.1\config\stm32f10x_flash_extsram.icf

     文件       1355  2013-09-14 00:32  空气节点V1.1\config\stm32f10x_nor.icf

     文件       1354  2013-09-14 00:32  空气节点V1.1\config\stm32f10x_ram.icf

     文件        245  2013-10-09 00:33  空气节点V1.1\doc\readme.txt

     文件      17273  2013-09-14 00:32  空气节点V1.1\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c

     文件      85714  2013-09-14 00:32  空气节点V1.1\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h

     文件      26297  2015-04-03 10:52  空气节点V1.1\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\Release_Notes.html

     文件      15766  2013-09-14 00:32  空气节点V1.1\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_cl.s

     文件      15503  2013-09-14 00:32  空气节点V1.1\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s

............此处省略243个文件信息

评论

共有 条评论