初级会员

- 积分
- 163
- 金钱
- 163
- 注册时间
- 2020-5-11
- 在线时间
- 26 小时
|

楼主 |
发表于 2021-12-7 17:11:35
|
显示全部楼层
追问:ADC1采用DMA+定时器,ADC2使用规则通道采样,目前ADC2的pin采集到的一直是随机数据,请大佬帮忙看看问题?ADC2代码如下:
void ADC2_Init(){
ADC_InitTypeDef ADC2InitStructure;
GPIO_InitTypeDef ADC2Structure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC2|RCC_APB2Periph_GPIOB,ENABLE);
RCC_ADCCLKConfig(RCC_PCLK2_Div6);
ADC2Structure.GPIO_Mode=GPIO_Mode_AIN;
ADC2Structure.GPIO_Pin=GPIO_Pin_1;
GPIO_Init(GPIOB,&ADC2Structure);
ADC_DeInit(ADC2);
ADC2InitStructure.ADC_ContinuousConvMode=DISABLE;
ADC2InitStructure.ADC_DataAlign=ADC_DataAlign_Right;
ADC2InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;
ADC2InitStructure.ADC_Mode=ADC_Mode_Independent;
ADC2InitStructure.ADC_NbrOfChannel=1;
ADC2InitStructure.ADC_ScanConvMode=DISABLE;
ADC_Init(ADC2,&ADC2InitStructure);
ADC_Cmd(ADC2,ENABLE);
ADC_ResetCalibration(ADC2);
while(ADC_GetResetCalibrationStatus(ADC2));
ADC_StartCalibration(ADC2);
while(ADC_GetCalibrationStatus(ADC2));
}
u16 Get_Adc(u8 ch)
{
ADC_RegularChannelConfig(ADC2, ch, 1, ADC_SampleTime_239Cycles5);
while (!ADC_GetFlagStatus(ADC2,ADC_FLAG_EOC));
return ADC_GetConversionValue(ADC2);
} |
|