mustafa_01980
Üye
- Katılım
- 10 Ara 2006
- Mesajlar
- 121
- Puanları
- 1
- Yaş
- 40
Selam arkadaşlar, ST ile çalışmaya yeni başladım, o yüzden timer mantığını tam oturtamadım. Cube MX , Keil uvision5 ve STM32F103C8T6 klon blue pill ile çalışıyorum.
Timer1'i enkoder girişine ayarladım ve LCD de değeri okuyabiliyorum, daha sonra TIM2 ve olmayınca da TIM3 ile TIMER olarak kullanıyorum. Sayıcının değerini interrupt içinden geri döndüremediğimden ana program içinde okumak istediğimde timer ın saymadığını timer1 CNT değerini değiştirince bazı değerlerin değiştiğini farkettim. Kullandığım kod:
uint16_t bellek;
bellek= __HAL_TIM_GET_COUNTER(&htim3);
veya
bellek=TIM3->CNT;
Her iki şekilde de TIM3 yerine, TIM1->CNT değiştirince farklı değerler geliyor. Gelen değeri LCD ye yazdırdığımda zamana göre sayıcı değerinin artması gerekirken ben enkoderi saydırınca örneğin 36 ya kadar 938 daha sonra 388 gibi mantıksız sayılar geliyor, 400 ü geçince 838 gibi rasgele yerlerde anlamsız rakamlar değişiyor.
Sorunum hakkında yardımlarınızı bekliyorum.
Teşekkürler.
Timer1'i enkoder girişine ayarladım ve LCD de değeri okuyabiliyorum, daha sonra TIM2 ve olmayınca da TIM3 ile TIMER olarak kullanıyorum. Sayıcının değerini interrupt içinden geri döndüremediğimden ana program içinde okumak istediğimde timer ın saymadığını timer1 CNT değerini değiştirince bazı değerlerin değiştiğini farkettim. Kullandığım kod:
uint16_t bellek;
bellek= __HAL_TIM_GET_COUNTER(&htim3);
veya
bellek=TIM3->CNT;
Her iki şekilde de TIM3 yerine, TIM1->CNT değiştirince farklı değerler geliyor. Gelen değeri LCD ye yazdırdığımda zamana göre sayıcı değerinin artması gerekirken ben enkoderi saydırınca örneğin 36 ya kadar 938 daha sonra 388 gibi mantıksız sayılar geliyor, 400 ü geçince 838 gibi rasgele yerlerde anlamsız rakamlar değişiyor.
Sorunum hakkında yardımlarınızı bekliyorum.
Teşekkürler.
Son düzenleme: