Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: 06angaralı - 20 Eylül 2017, 00:00:37

Başlık: ARM_TİMER Kullanımı
Gönderen: 06angaralı - 20 Eylül 2017, 00:00:37
Merhaba picproje ailesi;
STM32F407VG de timer4 u kullanıp 1sn de 1 interruptta girip led yakıp söndürmeye çalışıyorum.Fakat prescaler değeri, periyot değerini,ve repetion counter değerlerini nasıl hesaplayacağımı pek anlamadım yada yanlıs anladım.
Ben şöyle hesaplıyorum : x Saniye=(Prescaler Değeri*Period*TIM_RepetitionCounter)/84Mhz(APB1 in değeri fotograftaki değeri kullanıldıgını varsayıyorum)
Mesela 1 sn sayacaksa
Prescaler Değeri=42000, Period=2000, Repetition Counter=2 değerlerini veriyorum ve kodda ise
        TimerStructure.TIM_Prescaler=Prescaler Değeri-1;
   TimerStructure.TIM_Period=Period-1;
   TimerStructure.TIM_RepetitionCounter=Repetition Counter-1;
   TimerStructure.TIM_ClockDivision=TIM_CKD_DIV1;
   TimerStructure.TIM_CounterMode=TIM_CounterMode_Up;
olacak şekilde yazıyorum. Fakat böyle yaptıgımda ve kodu çalıştırdığımda kronometre tuttugumda 3 sn yeye yakın bir deper elde ediyorum.

(https://s26.postimg.cc/6q30jjpcl/soru.png) (https://postimg.cc/image/6q30jjpcl/)


Biraz karışık oldu kusura bakmayın. Kıssadan hisse belli bir süre saymasını istediğimiz bir timer ın prescaler, periyot ve repetition counter değerini nasıl belirleyebilirim? Hayırlı Geceler