Forum: Mikrocontroller und Digitale Elektronik Externe Interrupt Quelle


von Ma B. (drumstick)


Lesenswert?

Hallo!

Ich arbeite mit dem uVision von KEIl, STM32F107VC.

Ich möchte mit externen Interrupts arbeiten, in Beispielen habe ich 
schon einiges gesehen, aber irgendwie funktionierts noch nicht ganz.

Meine Frage: Ich möchte mit beim aktivieren von PortD 13 einen externen 
Interrupt auslösen, der mit den PortD12 auf Null setzt.
1
//Init
2
3
#define INTERMASKREG            0x00000011                        
4
#define FALLTRIGSELECREG        0x00000011         
5
#define EXINTCONFIGREG4         0x00003030
6
#define EVENTCONTREG            0X0000004A
7
8
9
    EXTI    ->  IMR       = INTERMASKREG;                   //
10
    EXTI    ->  FTSR      = FALLTRIGSELECREG;               //
11
    EXTI    ->  RTSR      = 0x00000001;                     //
12
    EXTI    ->  SWIER     = 0x00000000;                     //
13
    AFIO    ->  EXTICR[3] = EXINTCONFIGREG4; //PD 13 EXT_Interrupt source
14
    AFIO    ->  EVCR      = EVENTCONTREG; 
15
    NVIC    ->  ISER[0]   |= (1 << (0x00000006 & 0x0000001F));
16
17
//Interrupt-Subroutiene
18
19
void EXTIO_IRGHandler(void)
20
{
21
22
    if(EXTI -> PR & (1 << 0))
23
    {
24
    
25
        EXTI    ->  PR |= (1 << 0);
26
27
        GPIOD   ->  BSRR         =   (0 << 12);
28
        GPIOD   ->  BSRR         =   (1 << 11);   
29
    }
30
31
}

Gibt es niergends eine Anleitung zu den Interrupts? Im Reference Manual 
jedenfalls nicht!?

Danke und Gruss!

M.B.

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.