STM32F407 birden fazla kanal ADC ölçümü alma

Başlatan argelojik, 02 Ekim 2018, 19:45:35

argelojik

Merhaba ben HAL kütüphanesinde çoklu kanal (8 kanal) ADC ölçümü yapmak istiyorum. Örnek olarak, buton1 e bastığımda 1. kanaldan benim seçtiğim sayıda ölçüm çevrimi yapıp, sonuçları bir diziye atmak istiyorum. Bu aynı şekilde diğer butonlar içinde böyle olacak. Tek bir kanalda bunu yapabiliyorum. Ancak çoklu kanal olunca kafam karıştı. Contionus convertion mod ile tüm kanallardan aynı anda mı ölçüm  almalıyım? DMA kullansam DMA sonuçları tek bir diziye atıyor. Nasıl olacak anlamadım? Yani ben her bir butonda tek bir kanaldan ölçümü başlatıp bitirmek istiyorum. Bunu nasıl yapmalıyım? Umarım istediğimi anlatabilmişimdir. Cevaplar için şimdiden teşekkür ederim.

argelojik

Kendi sorunumu böyle kendim çözdüm.
ADC Kanal1 için böyle yaptım. Diğer kanallarda benzer şekilde olacak.

  chConfig.Channel = ADC_CHANNEL_1;
 chConfig.Rank = 1;
 chConfig.SamplingTime = ADC_SAMPLETIME_84CYCLES;
 HAL_ADC_ConfigChannel(&hadc1, &chConfig);

 HAL_ADC_Start(&hadc1);
 HAL_ADC_PollForConversion(&hadc1, HAL_MAX_DELAY);
        for(i=0; i<Sample_Size; i++)
       {
 Reading_Array[i]  =  HAL_ADC_GetValue(&hadc1);
 HAL_Delay(1);
       }
        HAL_ADC_Stop(&hadc1);