Как считывать значение многоканального АЦП?


Я могу прочитать значение ADC из канала ADC1_IN1 с этим кодом ADCValue = HAL_ADC_GetValue(&hadc1); , но порт ADC1 (вы можете видеть на картинке) имеет много каналов. Как я могу прочитать значения из ADC1_IN2 ? Как я могу описать канал 2 в коде ?

Порт ADC1

1 2

1 ответ:

Канал АЦП можно задать функцией HAL_ADC_ConfigChannel:

ADC_ChannelConfTypeDef sConfig;
sConfig.Channel = ADC_CHANNEL_2; // ADC Channel
sConfig.Rank = 1; //Rank (1-16) Rank: The rank in the regular group sequencer.
sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; //ADC Sampling Times
sConfig.Offset = 0; // Reserved

if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) {
    //Error
}

Описание драйверов STM32F4xx HAL