nichtperiodischer Interrupt

Gast #253210
Hallo zusammen,

ich habe eine kleine Interruptstruktur von zwei Interrupts die von
Timer1 und Timer2 periodisch aufgerufen werden. Nun brauche ich noch
einen dritten Interrupt, der immer dann läuft, wenn die anderen beiden
nicht laufen (quasi niederste Priorität). Kann mir jemand sagen, mit
welchem Ereignis dieser Interrupt angestoßen wird (er muß nicht
periodisch laufen). Wie könnte ich das realisieren?

Ich habe die Frage schonmal gestellt, hatte aber das Gefühl, daß es
unter gegangen ist, weil der Thread zu lang war...

Viele Grüße und herzlichen Dank,

Horst
Gast
Ich kenne Deinen alten Thread nicht (und werde jetzt auch nicht nach ihm
suchen) und habe auch nicht viel Ahnung von DSPs. Ich möchte Dich jedoch
darauf hinweisen, dass wahrscheinlich niemand wissen kann, was in Deinem
System wie funktioniert, wenn Du uns nichts darüber sagst (z.B. welcher
DSP bei Dir läuft).

Woher sollen wir wissen, was in Deiner Schaltung Interrupts auslösen
kann?

Gruß, Michael
Gast
Hallo,

ich glaube, ich habe die Lösung:

Ich habe jetzt eine while(1)-Schleife am Ende der main-Routine
eingebaut, so daß die CPU nie aus der main-Routine raus laufen kann. In
dieser while(1)-Schleife rufe ich die Funktion auf, die ausgeführt
werden soll, wenn keiner der beiden anderen Interupts aktiv ist.

Müßte stimmen, oder?

Viele Grüße und herzlichen Dank,

Horst
Gast
und du willst sonnst nichts anderes aufrufen?

nur die 2 ints und eine funktion?

Dann würd ich auch sagen dass das so klappt.
Aber nicht grad schön...

Du könntest doch ne art "Semaphore" benutzen.
2 stück, immer als erstes bei der INT Routine ausführen.
INT1Running=TRUE;
INT2Running=TRUE;

if ((INT1Running || INT2Running) == FALSE)
{
Funktionsaufruf();
}


Der if block in deiner while(1) dürfte das nun auch können.

Gruß Andreas
Gast
hmm allerdings könnte auch der funktionsaufruf() dann natürlich noch
unterbrochen werden durch die 2 timerints. Falls du das nicht möchtest
schalt sie davor ab und danach wieder an.

Gruß Andreas

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.