Harici kesmeler nasıl çalışıyor?

Endorfin35+

Kayıtsız Üye
Katılım
1 Mayıs 2020
Mesajlar
4,199
Harici pin kesmesi için minik bir program rutini yazdım.

Pin tetiklendi kesme kodları çalışıyor. Sonra ana program devam ediyor.

Peki sorum şu;

Pin tetiklendi kesme kodları işlenirken pin tekrar tetiklendi.. o zaman ne oluyor. kod olduğu yerde kalıp baştanmı çalışıyor? Yoksa kesme rutini devreye girince kodlar işlenesiye kadar kesme tekrar aktif olmuyor mu? Karıştı biraz umarım anlatabilmişimdir....
 
Hangi dilde, hangi cihaz için yazdın programı? Program kesme ile başka bir fonksiyona dallanmıyor mu, normalde kesme geldiğinde kesme işlevi tamamlanır geri döner ve bu kesme programları da kısa işlevler olur. Sıralama durumunda mesela bilgisayarda klavye, timer dan sonraki ilk sırada yer alır, sıralama olan bir platform mu?
 
Kesmeye gittiğinde tekrar kesme gelmesin diye, kesme alt programında kesmeyi kapatıyorsun. Bitişinde tekrar kesme ekliyorsun. Böyle bir şey istersen yani
Böyle oluyorsa mantıklı... işimi görür gibi sanki...
Hangi dilde, hangi cihaz için yazdın programı? Program kesme ile başka bir fonksiyona dallanmıyor mu, normalde kesme geldiğinde kesme işlevi tamamlanır geri döner ve bu kesme programları da kısa işlevler olur. Sıralama durumunda mesela bilgisayarda klavye, timer dan sonraki ilk sırada yer alır, sıralama olan bir platform mu?

Arduino için yazacam. Henüz bir şey yazmadım planlıyorum. On/Off butonu nu kesmeye bağlayacam. Mcu meşgül olsa bile kesme sayesinde kapat değişkenini 1 yapacağım. Ana döngüde değişkeni 1 görürse sistem kapanışa gidecek. (burda biraz daha detay var...)

butona bastık kesme ile değişkeni aktif yaptık. kesmenin işi bitti. Arka planda başka işler dönüyor.... ama sırası gelince sistemin kapanacağını biliyoruz artık. Bu süreç hemen gerçekleşmiyor. kapanış için prosedürler var. kullanıcı kapanma gerçekleşmeden butona tekrar bastı. kapanış değişkenini pasif yaptık. kapanma iptal oldu. temel mantık böyle.

Buton arkı nedeni ile kesme üst üste tetiklenir ise naparım düşüncesine takıldım.

Neyse kodlamada görecez bakalım neler oluyor. Adam uzun tutarsa butonu ne olacak... Kesmeyi kapatsam bile kod defalarca çalışır. Adam butonu bıraktığı ana göre işlem yapmalıyım... hımmm....
 
Pin tetiklendi kesme kodları işlenirken pin tekrar tetiklendi.. o zaman ne oluyor.
Denetleyici, işlemci ye göre değişebilir.
Nested interrupt destekleniyormu gibi.
Microchip PIC ailesi, Arm CM0/3/4 de kesme içinde en başta kesme bayrağı temizlendi ise, aynı kesme yeniden gelirse kesme kodları baştan yeniden çalışır. Atmel'leri detaylı bilmiyorum ama aynıdır.

Yada bir kesme kodu çalışırken daha yüksek öncelikli bir kesme gelirse kesme bayrağına da bakılmaz. Direkt yüksek öncelikli çalışır.
Aynı öncelikte kesme gelirse bayrağa bakılır.

Kesme kodu sadece kapatma sırasında bir kez çalışacaksa kesme bayrağını sıfırlamayın olsun bitsin.
 

Forum istatistikleri

Konular
5,813
Mesajlar
99,248
Üyeler
2,475
Son üye
Omertlha

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top