STM32 interruptları engelleme - nasıl ?

Başlatan magnetron, 06 Ağustos 2016, 16:28:55

magnetron

merhaba forum,

STM32F103 ile bir proje yapıyorum

programın bir yerinde dijital çıkışları update ediyorum

bu sırada seri port interrupt geliyor ve benim bu rutinimi uzatıyor

programın bu yerinde kullanabileceğim disable interupt gibi bir komut var mı ?

ama bu sırada interrupt gelirse onu boş geçmesini istemiyorum

ben tekrar enable interrupt yapınca bekleyen interrupt rutinini çalıştırsın

bu aşağıdaki komut istediğimi yapmıyor çünkü disable sırasında seri interrupt gelirse onu boş geçiyor

              USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);

teşekkür

skara1214

merhaba yüksek ihtimal kullandığınız kod interrupt flaginide temizliyor. hazır kodu nasıldır bilmem ama direk registerdan engellemek istediğiniz inteeruptın interrupt enable flagini temizlemeniz gerekli. daha sonra aynı flagi set ederseniz interrupta giriş olacaktır.
Herkes ölür ama herkes gerçekten yaşamaz

muhittin_kaplan

Nasil yani?
İnter. kapatayim. Kapali iken bir kesme gelirse, icinde bulundugu islem bittiginde kesme ye gitsin mi istiyorsunuz ?

skara1214

Alıntı yapılan: muhittin_kaplan - 31 Ağustos 2016, 11:04:59
Nasil yani?
İnter. kapatayim. Kapali iken bir kesme gelirse, icinde bulundugu islem bittiginde kesme ye gitsin mi istiyorsunuz ?
valla yaptığım işi bölmesin ama iş bitincede interrupta girsin istiyorum diye anladım ben
Herkes ölür ama herkes gerçekten yaşamaz

magnetron

evet hocam ben belli bir anda bütün interruptleri engellemek
sonra izin verdiğimde engelleme sırasında gelen interruptlar çalışsın istiyorum

aşağıdaki mesajda cevap aldım teşekkür

https://www.picproje.org/index.php/topic,65237.0.html

GCC deki bu fonksiyonlar istediğimi yapıyormuş
--------------------------------
__disable_irq();
__enable_irq();
--------------------------------