Kesmelerin oluşma sırasını saptamak

Başlatan said.ylcn, 14 Mart 2017, 16:46:20

said.ylcn

Merhaba arkadaşlar, bir projemde ext1 ext2 kesmelerini kullanmaktayım. CCS C kullanıyorum, hangi kesmenin daha önce geldiğini saptamak istiyorum ve önce gelen kesmeye göre işlem yaptırmak istiyorum, ancak bi algoritma oluşturamadım. Örnek kod ya da algoritma da yardımcı olabilir misiniz? Teşekkürler.

vitruvius

Global bir değişken tanımlayıp girdiğin kesmede bunun değerini değiştirirsin. Sonra da bunun değerine bakarsın. Yapmak istediğin şeyi bir örnekle açıklarsan başka çözüm de bulunabilinir.

said.ylcn

Alıntı yapılan: vitruvius - 14 Mart 2017, 17:58:12
Global bir değişken tanımlayıp girdiğin kesmede bunun değerini değiştirirsin. Sonra da bunun değerine bakarsın. Yapmak istediğin şeyi bir örnekle açıklarsan başka çözüm de bulunabilinir.

zero crossing detector yardımıyla faz farkı hesaplıyorum. akım öndeyken düzgün hesaplayabiliyorum ancak voltaj öndeyken doğru ölçemiyor. İlk önce hangisi öndeyse onu öğrenip daha sonra zaman farkını ölçtürmek istiyorum.

xoom

#priority ext, timer2, timer1
kesmelere öncelik verebilirsiniz. burada ext kesmesi en yüksek önceliğe sahip olmuş olur.

ferdem

İki kesme değil de bir kesme bir dijital okuma yaparak önde/geride durumu öğrenilir. Örneğin ext1 ile kesme çalışır, kesme içinde diğer pinin durumu okunur, lojik1 ise öndedir, lojik0 ise geride kalmıştır.

omereliusuk

2 input bir kesme içinde kullanabiliriz.  ikisi de kesime götürür hangisi öndeyse ona göre yorumlayabiliriz. Bir de böyle düşünelim.  tabii uygun olursa