Hallo, hab mal wieder ein Problem mit den spurious interrupts beim ARM7: Es gibt in meinem Programm nur eine Interruptquelle, und zwar die I2C-Schnittstelle als FIQ (Fast Interrupt Request). Wenn ich jetzt Daten über I2C an den ARM sende, springt er in den Spurious-Interrupt-Handler: __irq __arm void default_ISR() { I2C0CONCLR=0x00000008; //I2C-Interrupt-Flag SI löschen VICVectAddr=0xFF; //VICVectAddr löschen } Das Problem ist jetzt, dass er die Routine immer wieder aufruft, die Interruptanforderung wird offenbar nicht gelöscht. Sobald er die Routine verlassen hat, ruft er sie wieder auf. Woran könnte das liegen?
Frag den VIC im Default-Handler mal, welche Interrupt-Flags gesetzt sind.
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.