目录
问题发现
本人在学习stm32中,想到ADC可以利用注入组从而不使用DMA就可以完成多通道的采样。然后查看了库函数,配置好RCC,GPIO,ADC等库函数后
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_ADCCLKConfig(RCC_PCLK2_Div6);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
设置规则通道和注入通道Rank(为了不用DMA采样通道规则组只用了1个)
ADC_RegularChannelConfig(ADC1,ADC_Channel_0,1,ADC_SampleTime_55Cycles5);
ADC_InjectedChannelConfig(ADC1,ADC_Channel_3,1,ADC_SampleTime_55Cycles5);
ADC_InjectedChannelConfig(ADC1,ADC_Channel_5,2,ADC_SampleTime_55Cycles5);
ADC_InjectedChannelConfig(ADC1,ADC_Channel_6,3,ADC_SampleTime_55Cycles5);
初始化ADC,设置好软件触发,使能ADC&