STR9 Interrupt

Gast #593259
Lesenswert?

Ist beim ersten mal nicht trivial:
a) WUI einrichten (Habe VIC1.9 genommen und dann in der irq-routine 
ausmaskiert)

b) SCU einrichten

c) VIC1 einrichten

hier ist mein Init, das läuft stabil (sollte man beim STR9 gar nicht 
meinen...)





void init_external_irq (void)
{
  SCU_PRR1 |= 0x20000;  // Disable Reset from Port 3

  SCU_PCGR1 |= 0x20000;  // Clock enabling from Port 3

  SCU_PRR1 |= 0x2000; // Disable Reset from WIU

  GPIO3_DIR &=~ 0x38; // Set the direction of P3.

  SCU_PCGR1 |= 0x2000;  // Clock enabling to WIU

  WIU_CTRL |= 0x02; // Global WIU Interrupt Enable (ext irq)

  WIU_TR = 0x38; // Trigger on the rising Edge

  WIU_MR = 0x38; // Enable external IRQ 3, 4 und 5

  VIC1_VA9R = (unsigned int)irq_handler_extern;  // Set the address of 
the extern 3 ISR

  VIC1_VC9R |= 0x20; // Enable this Interrupt

  VIC1_VC9R |= 0x9; // Interrupt Number

  VIC1_INTER |= 0x200;  // Enable external IRQ  (Bit 9)
}


Michi
Gast #666586
Lesenswert?

Danke Michi,

Es war eine Frage von einem Anderen aber es war auch meine Frage.
ich werde es versuchen , ich glaube es ist das richtige,wenn nicht dann 
werde ich mich wieder hier zu Dir wenden ,wenn es dir nichts ausmacht. 
ich schreibe meien DA und brauche wirklich Hilfe .

Gruss !

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren