1 | GPIO_InitTypeDef GPIO_InitStructure;
|
2 | EXTI_InitTypeDef EXTI_InitStructure;
|
3 | NVIC_InitTypeDef NVIC_InitStructure;
|
4 |
|
5 | /// Enable the BUTTON Clock
|
6 |
|
7 | RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOC, ENABLE);
|
8 | RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
|
9 |
|
10 | /// Configure Button pin as input
|
11 | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
|
12 | GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
|
13 | GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
|
14 | GPIO_Init(GPIOC, &GPIO_InitStructure);
|
15 |
|
16 | //Anbindung mit Interruptgenerator
|
17 |
|
18 | /// Connect Button EXTI Line to Button GPIO Pin
|
19 | SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource4);
|
20 |
|
21 | /// Connect Button EXTI Line to Button GPIO Pin
|
22 | SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource3);
|
23 |
|
24 |
|
25 | // Configure Button EXTI line
|
26 | EXTI_InitStructure.EXTI_Line = EXTI_Line4;
|
27 | EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
|
28 | EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
|
29 | EXTI_InitStructure.EXTI_LineCmd = ENABLE;
|
30 | EXTI_Init(&EXTI_InitStructure);
|
31 |
|
32 | // Configure Button EXTI line
|
33 | EXTI_InitStructure.EXTI_Line = EXTI_Line3;
|
34 | EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
|
35 | EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
|
36 | EXTI_InitStructure.EXTI_LineCmd = ENABLE;
|
37 | EXTI_Init(&EXTI_InitStructure);
|
38 |
|
39 |
|
40 | // Enable and set Button EXTI Interrupt to the lowest priority
|
41 | NVIC_InitStructure.NVIC_IRQChannel = EXTI4_IRQn;
|
42 | NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;
|
43 | NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F;
|
44 | NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
|
45 | NVIC_Init(&NVIC_InitStructure);
|
46 |
|
47 | // Enable and set Button EXTI Interrupt to the lowest priority
|
48 | NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;
|
49 | NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;
|
50 | NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F;
|
51 | NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
|
52 | NVIC_Init(&NVIC_InitStructure);
|