Firmware SDK
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
bc_exti.h
1 #ifndef _BC_EXTI_H
2 #define _BC_EXTI_H
3 
4 #include <bc_common.h>
5 
9 
11 
12 #define _BC_EXTI_PORT_A 0x00
13 #define _BC_EXTI_PORT_B 0x10
14 #define _BC_EXTI_PORT_C 0x20
15 #define _BC_EXTI_PORT_H 0x50
16 
18 
20 
21 typedef enum
22 {
24  BC_EXTI_LINE_PA0 = _BC_EXTI_PORT_A | 0,
25 
27  BC_EXTI_LINE_PA1 = _BC_EXTI_PORT_A | 1,
28 
30  BC_EXTI_LINE_PA2 = _BC_EXTI_PORT_A | 2,
31 
33  BC_EXTI_LINE_PA3 = _BC_EXTI_PORT_A | 3,
34 
36  BC_EXTI_LINE_PA4 = _BC_EXTI_PORT_A | 4,
37 
39  BC_EXTI_LINE_PA5 = _BC_EXTI_PORT_A | 5,
40 
42  BC_EXTI_LINE_PA6 = _BC_EXTI_PORT_A | 6,
43 
45  BC_EXTI_LINE_PA7 = _BC_EXTI_PORT_A | 7,
46 
48  BC_EXTI_LINE_PA8 = _BC_EXTI_PORT_A | 8,
49 
51  BC_EXTI_LINE_PA9 = _BC_EXTI_PORT_A | 9,
52 
54  BC_EXTI_LINE_PA10 = _BC_EXTI_PORT_A | 10,
55 
57  BC_EXTI_LINE_PA11 = _BC_EXTI_PORT_A | 11,
58 
60  BC_EXTI_LINE_PA12 = _BC_EXTI_PORT_A | 12,
61 
63  BC_EXTI_LINE_PA13 = _BC_EXTI_PORT_A | 13,
64 
66  BC_EXTI_LINE_PA14 = _BC_EXTI_PORT_A | 14,
67 
69  BC_EXTI_LINE_PA15 = _BC_EXTI_PORT_A | 15,
70 
72  BC_EXTI_LINE_PB0 = _BC_EXTI_PORT_B | 0,
73 
75  BC_EXTI_LINE_PB1 = _BC_EXTI_PORT_B | 1,
76 
78  BC_EXTI_LINE_PB2 = _BC_EXTI_PORT_B | 2,
79 
81  BC_EXTI_LINE_PB3 = _BC_EXTI_PORT_B | 3,
82 
84  BC_EXTI_LINE_PB4 = _BC_EXTI_PORT_B | 4,
85 
87  BC_EXTI_LINE_PB5 = _BC_EXTI_PORT_B | 5,
88 
90  BC_EXTI_LINE_PB6 = _BC_EXTI_PORT_B | 6,
91 
93  BC_EXTI_LINE_PB7 = _BC_EXTI_PORT_B | 7,
94 
96  BC_EXTI_LINE_PB8 = _BC_EXTI_PORT_B | 8,
97 
99  BC_EXTI_LINE_PB9 = _BC_EXTI_PORT_B | 9,
100 
102  BC_EXTI_LINE_PB10 = _BC_EXTI_PORT_B | 10,
103 
105  BC_EXTI_LINE_PB11 = _BC_EXTI_PORT_B | 11,
106 
108  BC_EXTI_LINE_PB12 = _BC_EXTI_PORT_B | 12,
109 
111  BC_EXTI_LINE_PB13 = _BC_EXTI_PORT_B | 13,
112 
114  BC_EXTI_LINE_PB14 = _BC_EXTI_PORT_B | 14,
115 
117  BC_EXTI_LINE_PB15 = _BC_EXTI_PORT_B | 15,
118 
120  BC_EXTI_LINE_PC13 = _BC_EXTI_PORT_C | 13,
121 
123  BC_EXTI_LINE_PC14 = _BC_EXTI_PORT_C | 14,
124 
126  BC_EXTI_LINE_PC15 = _BC_EXTI_PORT_C | 15,
127 
129  BC_EXTI_LINE_PH0 = _BC_EXTI_PORT_H | 0,
130 
132  BC_EXTI_LINE_PH1 = _BC_EXTI_PORT_H | 1,
133 
136 
139 
142 
145 
148 
151 
154 
157 
160 
163 
166 
169 
172 
175 
178 
181 
184 
187 
190 
192 
194 
195 typedef enum
196 {
199 
202 
205 
207 
213 
214 void bc_exti_register(bc_exti_line_t line, bc_exti_edge_t edge, void (*callback)(bc_exti_line_t, void *), void *param);
215 
218 
220 
222 
223 #endif // _BC_EXTI_H
EXTI line P0.
Definition: bc_exti.h:135
EXTI line PB9.
Definition: bc_exti.h:99
EXTI line P2.
Definition: bc_exti.h:141
EXTI line P3.
Definition: bc_exti.h:144
EXTI line PB13.
Definition: bc_exti.h:111
EXTI line P5.
Definition: bc_exti.h:150
EXTI line P16.
Definition: bc_exti.h:183
EXTI line PB7.
Definition: bc_exti.h:93
EXTI line PB12.
Definition: bc_exti.h:108
EXTI line P7.
Definition: bc_exti.h:156
EXTI line P10.
Definition: bc_exti.h:165
EXTI line PB2.
Definition: bc_exti.h:78
EXTI line PC14.
Definition: bc_exti.h:123
EXTI line PB1.
Definition: bc_exti.h:75
EXTI line P4.
Definition: bc_exti.h:147
EXTI line PA10.
Definition: bc_exti.h:54
EXTI line PA5.
Definition: bc_exti.h:39
EXTI line PH0.
Definition: bc_exti.h:129
EXTI line is configured to both rising and falling edge sensitivity.
Definition: bc_exti.h:204
EXTI line is configured to rising edge sensitivity.
Definition: bc_exti.h:198
EXTI line P14.
Definition: bc_exti.h:177
EXTI line P13.
Definition: bc_exti.h:174
EXTI line PC15.
Definition: bc_exti.h:126
EXTI line BUTTON.
Definition: bc_exti.h:189
EXTI line PA9.
Definition: bc_exti.h:51
EXTI line PH1.
Definition: bc_exti.h:132
EXTI line PB8.
Definition: bc_exti.h:96
EXTI line PB5.
Definition: bc_exti.h:87
bc_exti_edge_t
Interrupt edge sensitivity.
Definition: bc_exti.h:195
EXTI line P11.
Definition: bc_exti.h:168
void bc_exti_register(bc_exti_line_t line, bc_exti_edge_t edge, void(*callback)(bc_exti_line_t, void *), void *param)
Enable EXTI line interrupt and register callback function.
Definition: bc_exti.c:17
void bc_exti_unregister(bc_exti_line_t line)
Disable EXTI line interrupt.
Definition: bc_exti.c:90
EXTI line PA14.
Definition: bc_exti.h:66
EXTI line PA7.
Definition: bc_exti.h:45
EXTI line PB15.
Definition: bc_exti.h:117
EXTI line PC13.
Definition: bc_exti.h:120
EXTI line PA8.
Definition: bc_exti.h:48
EXTI line P8.
Definition: bc_exti.h:159
bc_exti_line_t
EXTI lines.
Definition: bc_exti.h:21
EXTI line PB3.
Definition: bc_exti.h:81
EXTI line PB4.
Definition: bc_exti.h:84
EXTI line P1.
Definition: bc_exti.h:138
EXTI line P9.
Definition: bc_exti.h:162
EXTI line PA15.
Definition: bc_exti.h:69
EXTI line P6.
Definition: bc_exti.h:153
EXTI line PB6.
Definition: bc_exti.h:90
EXTI line PA4.
Definition: bc_exti.h:36
EXTI line PA0.
Definition: bc_exti.h:24
EXTI line PA12.
Definition: bc_exti.h:60
EXTI line PA1.
Definition: bc_exti.h:27
EXTI line PB14.
Definition: bc_exti.h:114
EXTI line PA3.
Definition: bc_exti.h:33
EXTI line PA11.
Definition: bc_exti.h:57
EXTI line PA2.
Definition: bc_exti.h:30
EXTI line P12.
Definition: bc_exti.h:171
EXTI line PB0.
Definition: bc_exti.h:72
EXTI line P17.
Definition: bc_exti.h:186
EXTI line PB10.
Definition: bc_exti.h:102
EXTI line PB11.
Definition: bc_exti.h:105
EXTI line is configured to falling edge sensitivity.
Definition: bc_exti.h:201
EXTI line PA13.
Definition: bc_exti.h:63
EXTI line PA6.
Definition: bc_exti.h:42
EXTI line P15.
Definition: bc_exti.h:180