32 Bit Timer

Başlatan Mucit23, 18 Mayıs 2022, 18:25:39

Mucit23

Selamlar

STM32F103C8 çipimdeki Timer'lar 16 bit çözünürlüğe sahip. Benim  1us veya adım aralığında 32 bit'lik timer'a ihtiyacım var. Şuanda 0-65535 us aralığında 1uS aralıklarla kesme oluşturabiliyorum ama daha geniş bir aralıkta çalışmam gerekiyor. Bu yüzden 32 bit timer ihtiyacım var. Bu ihtiyacı 16 bit timer ile optimize bir şekilde karşılamak istersek ne yapmamız gerekiyor?

z

Tahmminen timerlarin kaskat baglanabiliyor olmasi lazim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

e-zeki

Link
Hocam dosyayı Bi inceleyin input capture mode ile ıki timer kullanarak yapılıyor

Mucit23

Timer da repetion counter ne için kullanılıyor?

magnetron

void TIM2_IRQHandler(void){ // ENCODER ICIN 
 TIM_ClearFlag(TIM2, TIM_FLAG_Update);
 TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
   uint16_t current = TIM2->CNT;
      if ( current < 0x7FFF ) counterhi += 1; // Roll over in upwards direction
      else counterhi -= 1; // Roll over in downwards direction

hocam ben timer update interupt içinde böyle kod yazdım enkoder okudum
üst 16 bit wordu software olarak oluşturdum çünkü orası daha yavaş değişiyor

e-zeki

Alıntı yapılan: Mucit23 - 18 Mayıs 2022, 23:03:26Timer da repetion counter ne için kullanılıyor?
hocam repetition counter'a yazacağınız değer kadar timer interruptını öteler. örneğin 1 us interrupt kurdunuz repetiona 3 yazdınız her 1us de bir kesmeye girmeden repetionu bir azaltır ve 0 olduğunda interrupt tetikler.