有没有人用STM32CUBE生成过DMA方式的ADC?我在使用F1和F4时,使用2个通道,都是只能第一个通道可以用。下面是DMA部分的配置:
void MX_ADC1_Init(void)
{
ADC_ChannelConfTypeDef sConfig;
/**Common config
*/
hadc1.Instance = ADC1;
hadc1.Init.ScanConvMode = ENABLE;
hadc1.Init.ContinuousConvMode = ENABLE;
hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc1.Init.NbrOfConversion = 2;
HAL_ADC_Init(&hadc1);
/**Configure Regular Channel
*/
sConfig.Channel = ADC_CHANNEL_14;
sConfig.Rank = 1;
sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);
/**Configure Regular Channel
*/
sConfig.Channel = ADC_CHANNEL_15;
sConfig.Rank = 2;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);
}
采用PC4和PC5,主程序中 HAL_ADC_Start_DMA(&hadc1,ADC_ConvertedValue,2);
ADC_ConvertedValue【0】和ADC_ConvertedValue【1】都是PC4的采样值。如果把sConfig.Rank交换,那么就都是PC5的值,应该怎么配置呢
|