Forum: Mikrocontroller und Digitale Elektronik ARM7: spurious interrupts


von Siggi (Gast)


Lesenswert?

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?

von A.K. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.