Stm32f103 Timer1 Counter Period

Başlatan sımışka, 17 Haziran 2020, 23:46:54

sımışka

Merhaba,

Timer1 16 bitlik,dışarıdan gelen puls leri saydırıyorum __HAL_TIM_GET_COUNTER(&htim1) makrosu ile. Maksimum periyod değeri 16bitlik timer olduğu için 65535 ile sınırlı. 2^32 benim işime yarıyor. Bu hazır makro dışında nasıl bir yol izlemem gerekiyor ?



RaMu

#1
Bu 32 bit mcu ların 16 bit timerlarının olması aşırı derecede saçma geliyor bana.

Timer 0xFFFF olduğunda kesme verecek ve kesmede bir değişkeni arttıracaksın.
Timer güncel değerine bakarken bu değişkenide hesaba katacaksın.

Bazı timerları birbirine bağlayabiliyorsun.
Biri istediğin değere dolunca (yukarıdaki 0xFFFF gibi)
diğerini bir arttırabiliyor.
Yani ilk söylediğimi otomatik kendi yapıyor.
Sende bu iki timerın CNT değerlerini birleştirip 32 bit kullanıyorsun.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html


Tagli

Bazı modellerde bazı timer'lar doğrudan 32 bit olabiliyor. Benim gördüğüm modellerde, olursa TIM2 ve TIM5 32 bit oluyor. F042, F051, F407'de böyle. F103'te yok maalesef. Ancak @RaMu'nun dediği gibi iki timer'ı birbirine bağlayabilirsin.
Gökçe Tağlıoğlu

sımışka

Bu modelinde ne yazık ki hiç 32 bitlik timer yok. Aslında 2 adet timeri birleştirip yaptım fakat tüm timer kanallarını kendi içinde kullandığım için bu yöntem yerine farklı bir yöntem aradım. Şimdilik timer counter yerine harici dış kesme kullanıyorum. Teşekkür ederim cevaplar ve paylaşımlar için  ::ok