interrupt bewusst verlieren? (atmega 32)

OP #2189849
Lesenswert?

Hallo,

ich habe benutze jetzt Interrupts mit meinem Atmega. Da wird jetzt bei 
einem Taktsignal ein Interrupt ausgeführt.

Jetzt deaktiviere ich mit cli(); die Interrupts. Dadurch geht jedoch der 
Interrupt der durch das Taktsignal aktiviert wird nicht verloren, 
sondern wird ausgeführt wenn mein Hauptprogramm durch ist. Das ist 
soweit in den häufigsten Fällen richtig. Ich möchte jedoch nach cli(); 
das die Interrupts ignoriert und verworfen werden, also nicht nach dem 
sei(); ausgeführt werden. Wie mache ich das?

Meine erste Lösung wäre jetzt das abfragen der Taktflanke mit Polling zu 
realisieren. Das erscheint mir aber nicht so elegant.. also daher die 
Frage: kann man interrupts wegwerfen?
Gast #2189863
Lesenswert?

interrupt [xxx] void yyyy (void)
{
xxxxxx;
}

void main (void)
{
initialisierung;
while (1)
{
dein Programm, dass zyklisch ausgeführt wird;
};
}

Bei so einem Konstrukt soll es eigentlich ohne Problemme gehen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren