Aslında her şey doğru görünüyor. Bu şekilde projeyi oluşturdum ve aşağıdaki fonksiyon ile ölçümü başlattım ancak ölçüm sonunda sadece son tanımlanan ADC kanalının değerini buffer arrayin ilk elemanında görüyordum.
HAL_ADC_Start_DMA ( &hadc1, ( uint32_t * ) aADCxConvertedData, ADC_CONVERTED_DATA_BUFFER_SIZE );
Bunun problemini araştırırken code generator tarafına olan bir hatadan dolayı problem çıktığını tespit ettim. Code generator kodu aşağıdaki sırada oluşturuyor. Bu şekilde DMA ayarlarından önce ADC ayarları yapıldığı için DMA konfigürasyonu hatalı oluyor. ADC, DMA yapısı istediğimiz gibi çalışmıyor.
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *AdcHandle)
İyi çalışmalar.
Hiç yorum yok:
Yorum Gönder