-
大小: 5.57MB文件類型: .rar金幣: 2下載: 0 次發布日期: 2023-09-17
- 語言: 其他
- 標簽: stm32f103c8t??甲醛??pm2.5??溫濕度??
資源簡介
一個完整的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個文件信息
- 上一篇:機器學習—吳恩達中文版pdf
- 下一篇:易通電腦鎖 v7.8.3.6727.zip
評論
共有 條評論