stm32f407vg harici buton kesmesi

Başlatan misirli, 18 Temmuz 2014, 19:04:28

misirli

stm32f407vg mikrodenetleyicisinde buton ile harici kesme oluşturuyorum. ancak butondan elimi bırakırken oluşan gürültüden dolayı yeniden kesmeye gidiyor. şöyle ki yükselen kenar tetiklemeli kesme oluşturdum. butona basıldığında lojik 1 oluyor ve kesmeye gidiyor kesme içinde yeni kesme olmaması için en son kesme bayrağını temizleyip çıkıyorum. böyle olduğunda dediğim gibi butonu bırakırken yeniden kesmeye gidebiliyor. çözüm olarak şöyle bir şey yaptım kesmeden çıkmadan önce ilgili pinin bırakıldıktan 100ms sonra lojik 0 olmasını bekliyorum ancak bu durumda da kesmenin düşen kenar tetiklemeden farkı kalmıyor. bu problemi yazılım ile nasıl ortadan kaldırabilirm.

LukeSkywalker

Harici kesme oluştuğunda kesmeyi pasif hale getirirsiniz. Basit bir timer kurup harici kesmeyi , timer kesmesi oluştuğunda tekrar aktif edersiniz.

sfiber

kart üzerindeki tuşu kullanıyorsanız yazılımsal olarak while(GPIOReadInputDataBits==1) koyup gecikme olarak ufak bir saniye koyabilirsiniz.Donanımsal olarak ise tuşun paralelindeki debouncing önleyici kapasitöre paralel bir kapasitörü lehimleyebilirsiniz.