Gast
#337440
Hallo, ich habe ein kleines Program auf AT91SAM7S64, in dem PIT und TC2 timers laufen. Bei PIT oder TC2 Compare Events soll je ein Interrupt ausloest werden. PIT (source 1)und TC2(source 14) werden als Interrupt Sources mit den gleichen Einstellungen eingeschaltet: High Level Sensitive, Priority =0. In den Interrupt Handlern werden Interrupts nicht re-aktiviert. Die Frequenzen, mit denen die beiden Interrupts ausgloest werden sollen, sind ungefaehr gleich. Wenn ich das Program laufen lasse, wird jeder Interrupt nur EINMAL ausgeloest und dann bleibt das Program in der "loop: b loop" Schleife. Wenn ich es unterbreche und AIC Register anschaue, sind die beiden Interrupt Sources pending (AIC_IPR1,14=1) und masked (AIC_IMR1,14=1), aber ausgeloest werden die nicht. Wenn ich aber die Frequenzen relativ einander verstelle, zb 2*F_PIT=F_TC2, laeuft alles OK. Woran kann es liegen? Gruss, R. P.S. Falls weitere Einzelheiten noetig sind, bitte sagt welche, ich werde die entsprechenden Program-Ausschnitte posten.