STM32F103 COUNTER ve TIMER SORUNU

Katılım
10 Ara 2006
Mesajlar
121
Puanları
1
Yaş
39
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.
 
Son düzenleme:
Keil in debug özelliği ile veya ststudio programı ile
hatayı daha kolay inceleyebilirsin.
Sırf lcd ye yazma kısmında bile problem olabilir.
 
Keil in debug özelliği ile veya ststudio programı ile
hatayı daha kolay inceleyebilirsin.
Sırf lcd ye yazma kısmında bile problem olabilir.
keil de debug yapıp, bellek registerini watch pencerisine ekleyerek izlediğimde de aynı sonucu görüyorum.
Ayrıca tim1'in counter özelliğini iptal ederek tim1->cnt kopyaladığımda istediğim sonucu alabiliyorum. aynı anda kullanma ile ilgili bbir sorun olabilir mi?
 
Son düzenleme:
Henüz ne yapmak istediğini
nasıl yapmaya çalıştığını anlamış değilim.
Bir enkoder modu birde timer sayıcı modu ile ilgili birşeyler istiyorsun gibi duruyor.
Donanım foto şema paylaşır mısın
ve nasıl bir çalışma yapmak istiyorsun?
 
Kullandığım kart resimdeki gibi ve üzerinde STM yerine CKS32F103C8T6 marka/model çip olduğunu farkettim. Bahsettiğim sıkıntının yanında I2C_1 hattına lcd bağladığımda çalışmamakta, yalnızca yazılımda I2C_2 olarak değişiklik yapıp lcd bağlantısını buraya aktardığımda düzgün çalışmakta, defalarca kontrol ettim programda bir sorun olduğunu düşünmüyorum, entegreyi orijinal ST ile değiştirip sonucu burada paylaşacağım.
 

Ekli dosyalar

  • stm32f103c8t6-mini-development-board-arduino-st-gelistirme-kartlari-china-12636-30-B.jpg
    stm32f103c8t6-mini-development-board-arduino-st-gelistirme-kartlari-china-12636-30-B.jpg
    56.3 KB · Görüntüleme: 5

Forum istatistikleri

Konular
127,952
Mesajlar
913,873
Kullanıcılar
449,599
Son üye
Gksn

Yeni konular

Geri
Üst