Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: argelojik - 02 Ekim 2018, 19:45:35

Başlık: STM32F407 birden fazla kanal ADC ölçümü alma
Gönderen: argelojik - 02 Ekim 2018, 19:45:35
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.
Başlık: Ynt: STM32F407 birden fazla kanal ADC ölçümü alma
Gönderen: argelojik - 04 Ekim 2018, 10:59:07
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);