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
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
OK, sorry: DSP: F2812 Entwicklungsumgebung: Code Composer 2.20.0 Gruß, Horst
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
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.