blob: 1ad49ee437bb5351e80705c7a3e40270d8648842 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
External interrupt notes.
To generate the interrupt, the interrupt line should be configured
and enabled. This is done by programming the two trigger registers
with the desired edge detection and by enabling the interrupt
request by writing a '1' to the corresponding bit in the interrupt
mask register. When the selected edge occurs on the external
interrupt line, an interrupt request is generated. The pending bit
corresponding to the interrupt line is also set. This request is
reset by writing a '1' in the pending register.
Hardware interrupt selection:
To configure the 20 lines as interrupt sources, use the following
procedure:
1) Configure AFIO_EXTICR[y] to select the source input for EXTIx
external interrupt
2) Configure the mask bits of the 20 interrupt lines (EXTI_IMR)
3) Configure the trigger selection bits of the interrupt lines
(EXTI_RTSR and EXTI_FTSR)
4) Configure the enable and mask bits that control the NVIC_IRQ
channel mapped to the External Interrupt Controller (EXTI) so
that an inerrupt coming from one of the 20 lines can be
correctly acknowledged.
AFIO clock must be on.
RM0008, page 107: "PD0, PD1 cannot be used for external
interrupt/event generation on 36, 48, 64-bin packages."
----------------------------------------------------------------------------
Pin to EXTI Line Mappings:
EXTI0 EXTI1 EXTI2 EXTI3 EXTI4
--------------------------------------------------------------------------
D2/PA0 D3/PA1 D1/PA2 D0/A6/PA3 D10/A10/PA4
D26/EXT7/PB0 D27/EXT8/PB1 D16/A2/PC2 D17/A3/PC3 D18/A4/PC4
D14/A0/PC0 D15/PC1 D25/EXT5/PD2
EXTI5 EXTI6 EXTI7 EXTI8 EXTI9
----------------------------------------------------------------------------
D13/A13/PA5 D12/A12/PA6 D11/A11/PA7 D6/PA8 D7/PA9
D4/PB5 D5/PB6 D9/PB7 D38/PB8 D23/EXT4/PB9
D19/A5/PC5 D34/EXTI15/PC6 D35/EXT16/PC7 D36/PC8 D37/EXT18/PC9
EXTI10 EXTI11 EXTI12 EXTI13 EXTI14
----------------------------------------------------------------------------
D8/PA10 D29/EXT10/PB11 D30/EXTI1/PB12 D31/EXTI12/PB13 D32/EXT13/PB14
D28/PB10 D20/EXTI1/PC13 D21/EXT2/PC14
D25/PC10
EXTI15
----------------------------------------------------------------------------
D33/EXTI14/PB15
D22/EXT3/PC15
The 16 EXTI interrupts are mapped to 7 interrupt handlers.
EXTI Lines to Interrupt Mapping:
EXTI0 -> EXTI0
EXTI1 -> EXTI1
EXTI2 -> EXTI2
EXTI3 -> EXTI3
EXTI4 -> EXTI4
EXTI[5-9] -> EXT9_5
EXTI[10-15] -> EXT15_10
|