stm external interrupt sorusu

Başlatan Karamel, 24 Temmuz 2014, 11:34:34

Karamel

merhaba. STM32F103R8T6 icin semalar olusturuyorum. 6 adet button a ihtiyacim var ve buttonlari external interrupt ile okumak istiyorum. reference manual dan anladigim kadari ile stm lerin butun pinleri ex.interrupt a confugre edilebiliyor. ayrica AFIO_EXTICRX ilede EXTI source u secilebiliyor. yani ben buradan sunu anliyorum ki: butun butonlarimi atiyorum C portuna baglasam yazilimda tek bir interrupt rutini icersinde butonlarimin hepsini okuyabilecegim? dogrumudur ki?




AsHeS

#1
Butonları exti ile okursanız debounce problemini çözmek için daha fazla efor harcarsınız mumkun olduğu kadar bir timer içerisinde buton tarama yapın 10 ms den buyuk bir periyotta olsun.

Böylelikle EXTI hattınız daha işe yarar entegrelerin kullanımına kalır.

Karamel

hocam bunu forumda okumustum. sanirim muhittin kaplan boyle bir soru sormus. pcb de alternatif olmasi acisindan boyle yapmak istemistim.

AsHeS

Alıntı yapılan: Karamel - 24 Temmuz 2014, 12:05:38
hocam bunu forumda okumustum. sanirim muhittin kaplan boyle bir soru sormus. pcb de alternatif olmasi acisindan boyle yapmak istemistim.
STM32F103VB ile yaptığım çalışmadan hatırladığım kadarıyla 16 kanal EXTI var bu kanallardan bazılarının kendine ait interrupt vektörü varken bazılarının vektörü ortak. 0.EXTI kanalı için bütün portların 0.bitleri bağlanabiliyor. İçlerinden birini seçip bağlıyorsun.
İlla ki bütün EXTI ları tek bir fonksiyondan yönetmek istiyorsan startup dosyasında ki vektör tablosuna ya da kesme fonksiyonunun içerisinde aynı fonksiyonu çağırabilirsin.