STM求助,关于ADC实在是没能力解决了
时间:10-02
整理:3721RD
点击:
发现一个问题
STM32
ADC采样,同一个通道,同一个基准,就是什么都没有改变但是采集的数值不一样
下图为实验数据
第一次采集的会比后面几次采集的数据略大一点
主函数代码:
STM32
ADC采样,同一个通道,同一个基准,就是什么都没有改变但是采集的数值不一样
下图为实验数据
第一次采集的会比后面几次采集的数据略大一点
主函数代码:
- while(1)
- {
-
- ad=0;
- for(i=0;i<50;i++)
- {
- ad+=Get_adc();
- }
- ad=ad/50;
- printf("----第1次=%d",ad);
-
- ad=0;
- for(i=0;i<50;i++)
- {
- ad+=Get_adc();
- }
- ad=ad/50;
- printf("----第2次=%d",ad);
- void ADC_Configarition(void)
- {
- ADC_InitTypeDef ADC_Inttstructure;
-
- ADC_Inttstructure.ADC_Mode=ADC_Mode_Independent;//独立模式
- ADC_Inttstructure.ADC_ScanConvMode =DISABLE;
- ADC_Inttstructure.ADC_ContinuousConvMode=DISABLE;//采集模式单次
- ADC_Inttstructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;
- ADC_Inttstructure.ADC_DataAlign=ADC_DataAlign_Right;//右对齐
- ADC_Inttstructure.ADC_NbrOfChannel=1;//转换通道数目
-
- ADC_Init(ADC1,&ADC_Inttstructure);//初始化
你可以把数据变成8位的,我总觉得32的ADC只是有着12位的称号
基准电压有点跳动是正常的,值也没差多少,做一个均值滤波就好了啊