-
大小: 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
相关资源
- stm32f103c8t6 4 oled.rar
- STM32F103C8T6+NRF24l01无线通信
- 基于单片机的室内空气质量检测仪的
- 基于STM32F103C8T6的循迹避障小车完成
- stm32f103c8t6-max31865-pt100测温
- STM32F103C8T6与MQTT通信的源码
- STM32F103C8T6读取DS18B20串口显示程序.r
-
STM32F103C8T6_AES-128-CTR_ba
se64密文解密 - stm32f103c8t6移植uC/OS-III基于HAL库的工程
- STM32F103C8T6最小系统+原理图+PCB和库.
- STM32F103C8T6的DFU模式
- stm32f103c8t6 Keil led工程
- STM32F103C8T6读取DS18B20串口显示程序
- STM32f103C8t6型单片机用于超声波测距
- STM32F103C8T6+OLED
- LORA完成.rar
- STM32F103C8T6+DHT11+SGP30+CH340+ADC
- STM32F103C8T6+DHT11+OLED
- stm32f103c8t6 OLED 硬件SPI
- 基于STM32F103C8T6的四轴飞行器源码
- STM32 STM32F103C8T6 片内FLASH读写例程
- 基于STM32f103c8t6的LCD2004.rar
- STM32F103C8T6-DHT11温湿度传感器.rar
- 基于STM32F103C8T6及NRF24L01的摔倒检测+
- stm32f103c8t6蓝牙运动控制.zip
- STM32F103C8T6核心板资料及测试代码.zi
- STM32CUEB关于KEIL5、stm32f103c8t6时钟配置
- STM32F103C8T6的双路ADC采样
- 基于STM32F103C8T6的迷宫小车
- STM32F103C8T6核心板使用说明,原理图,
评论
共有 条评论