STM32 global interruptları engelleme - nasıl ?

Başlatan magnetron, 07 Ağustos 2016, 12:43:50

magnetron

merhaba forum,

STM32F103 ile bir proje yapıyorum

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

bu sırada bazen 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 interrupt rutinini çalıştırmıyor

              USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);

teşekkür

skara1214

Onun yerine direk rx interruptinin enableini kapatsan?diger interrupt cikisi acsan
Herkes ölür ama herkes gerçekten yaşamaz

z

Aşağıdaki iki komutu C'de yazmanın bir yolunu bul.

Interruptları yasaklamak için

CPSID   I

Interruptları açmak için

CPSIE   I

Keil kullanıyorsan

void __asm IntDis()
{
   CPSID   I
}

void __asm IntEnb()
{
   CPSIE   I
}


mesaj birleştirme:: 07 Ağustos 2016, 13:26:23

Digital çıkışları update işini BSRR ve BRR registerleri üzerinden ya da Bit Banding adresleme ile yaparsan da sorun kalmaz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com