STM32f103c8t6关于用两个ADC采集光强,和土壤温湿度的。

本文探讨了使用两个独立ADC(ADC1和ADC2)时遇到的问题,即数据采集时通道间相互影响。作者分享了配置代码示例,并揭示了如何解决单ADC多通道数据采集不准确的问题,着重于ADC初始化、配置和数据同步技巧。

开始的时候打算用一个ADC不同的两个通道对这两个传感器进行数据采集。但是,看了一会别人的博客照着写也还是没有解决,收到的数据就只有一个有用(或者说是一个传感器的数值会被另一个影响) 。最后没办法直接用两个adc非DMA来进行操作

这个ADC1的配置代码引脚是PA1通道也是1。

#include "adc.h"
#include "delay.h"

//static float shidu1;
static float temp_avg;
void Adc_Init(void)
{
	GPIO_InitTypeDef  GPIO_InitStructure;
	ADC_InitTypeDef		ADC_InitStruct;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE);
/*PA_1设置为模拟输入*/
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;				 // 
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; 		 //模拟输入
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 //IO口速度为50MHz
	GPIO_Init(GPIOA, &GPIO_InitStructure);	

	RCC_ADCCLKConfig(RCC_PCLK2_Div6);//设置ADC分频因子
	
	ADC_DeInit(ADC1);//复位ADC
	
	//初始化ADC参数
	ADC_InitStruct.ADC_ContinuousConvMode=DISABLE;
	ADC_InitStruct.ADC_DataAlign=ADC_DataAlign_Right;
	ADC_InitStruct.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;
	ADC_InitStruct.ADC_Mode=ADC_Mode_Independent;
	ADC_InitStruct.ADC_NbrOfChannel=1;
	ADC
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值