GUTEN TAG!
Ich arbeite mit dem uVision von Keil mit einem STM32F107VC Prozessor!
Ich möchte mit dem Eingang Port D13 einen externen Interrupt erzeugen.
Das mit der Einsprungstelle der Interrupts und die Wahl der richtigen
Quelle habe ich noch nicht ganz verstanden.
Mein Programm:
1 | #define INTERMASKREG 0x00002000
|
2 | #define FALLTRIGSELECREG 0x00002000
|
3 | #define EXINTCONFIGREG4 0x00000030
|
4 |
|
5 |
|
6 | void init(void) //
|
7 | {
|
8 |
|
9 | // EXT-Interrupt
|
10 | EXTI -> IMR = INTERMASKREG;
|
11 | EXTI -> FTSR = FALLTRIGSELECREG;
|
12 | AFIO -> EXTICR[3] = EXINTCONFIGREG4;//PortD13 the EXT_Inter.source
|
13 | NVIC -> ISER[0] = 0x0000000D; //
|
14 |
|
15 | }
|
16 |
|
17 |
|
18 |
|
19 | void EXTIO_IRGHandler(void)
|
20 | {
|
21 |
|
22 | if(EXTI -> PR & (1 << 13))
|
23 | {
|
24 |
|
25 | EXTI -> PR |= (1 << 13);
|
26 |
|
27 | GPIOD -> BSRR = (0 << 12);
|
28 | GPIOD -> BSRR = (0 << 11);
|
29 | }
|
30 |
|
31 | }
|
Hat jemand eine Idee, was da nicht gut ist?? ich meine, wenn ich den
PortD Pin 13 auf 1 setze, müsste doch ein externer Interrupt ausgelöst
werden??
Vielen Dank und freundliche Grüsse!
M.B.