STM32F103C8T6 ADC_RegularChannelConfig rank parametresi ?

Başlatan GaGuLi, 30 Mayıs 2016, 09:30:56

GaGuLi

Hayırlı günler arkadaşlar STM32F103C8 çalışmalarıma devam ediyorum. Yapılan örnekleri inceleyerek olayı kavramaya çalışıyorum. Çalıştığım konu ADC konusu. Bir fonksiyonun bir parametresini tam olarak kavrayamadım .

Fonksiyon ADC_RegularChannelConfig fonksiyonu. Fonksiyonda 4 parametre var.

ADC, ADC Channel, Rank, Sample_Time ..

Rank parametresinin işlevi nedir açıklarsanız mutlu olacağım :)

Bertan

ADC deki çevrim sırasını belirtiyor. Tek ADC modülü ile birden çok kanalda okuma yapacağınız zaman kullanılabilir. Örneğin :

ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_56Cycles) ;
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_56Cycles) ;
ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 3, ADC_SampleTime_56Cycles) ;
ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 4, ADC_SampleTime_56Cycles) ;


şeklinde bir tanımlama yapılırsa ; ilk olarak ADC_Channel_0 çevrime giriyor , daha sonra ADC_Channel_1 , ADC_Channel_2 ... şeklinde devam ediyor. Her çevrim bittiğinde ADC1->DR registerine okunan ADC değeri yazılıyor. ADC1->DR registerindeki verileri senkronize okumak için DMA kullanabilirsiniz.

GaGuLi

ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 2, ADC_SampleTime_56Cycles) ;
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_56Cycles) ;
ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 3, ADC_SampleTime_56Cycles) ;
ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 4, ADC_SampleTime_56Cycles) ;
şeklinde yazılsaydı sırası ile channel 1 0 2 3 şeklinde çevrime girecek değil mi hocam ?