@@ -82,9 +82,12 @@ int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32
82
82
/* Gets offset value for each port */
83
83
uint32_t offset ;
84
84
switch ((pin >> PORT_SHIFT ) & 0x3 ) {
85
- case 0 : offset = 0 ; break ; // PIO0[23:0]
86
- case 1 : offset = 24 ; break ; // PIO1[31:0]
87
- case 2 : offset = 56 ; break ; // PIO2[7:0]
85
+ case 0 : offset = 0 ; // PIO0[23:0]
86
+ break ;
87
+ case 1 : offset = 24 ; // PIO1[31:0]
88
+ break ;
89
+ case 2 : offset = 56 ; // PIO2[7:0]
90
+ break ;
88
91
}
89
92
/* Set the INTPIN number : offset + pin_number */
90
93
LPC_SYSCON -> PINTSEL [obj -> ch ] = (offset + ((pin >> PIN_SHIFT ) & 0x1F ));
@@ -96,14 +99,22 @@ int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32
96
99
97
100
void (* channels_irq )(void ) = NULL ;
98
101
switch (obj -> ch ) {
99
- case 0 : channels_irq = & gpio_irq0 ; break ;
100
- case 1 : channels_irq = & gpio_irq1 ; break ;
101
- case 2 : channels_irq = & gpio_irq2 ; break ;
102
- case 3 : channels_irq = & gpio_irq3 ; break ;
103
- case 4 : channels_irq = & gpio_irq4 ; break ;
104
- case 5 : channels_irq = & gpio_irq5 ; break ;
105
- case 6 : channels_irq = & gpio_irq6 ; break ;
106
- case 7 : channels_irq = & gpio_irq7 ; break ;
102
+ case 0 : channels_irq = & gpio_irq0 ;
103
+ break ;
104
+ case 1 : channels_irq = & gpio_irq1 ;
105
+ break ;
106
+ case 2 : channels_irq = & gpio_irq2 ;
107
+ break ;
108
+ case 3 : channels_irq = & gpio_irq3 ;
109
+ break ;
110
+ case 4 : channels_irq = & gpio_irq4 ;
111
+ break ;
112
+ case 5 : channels_irq = & gpio_irq5 ;
113
+ break ;
114
+ case 6 : channels_irq = & gpio_irq6 ;
115
+ break ;
116
+ case 7 : channels_irq = & gpio_irq7 ;
117
+ break ;
107
118
}
108
119
NVIC_SetVector ((IRQn_Type )(PININT_IRQ + obj -> ch ), (uint32_t )channels_irq );
109
120
NVIC_EnableIRQ ((IRQn_Type )(PININT_IRQ + obj -> ch ));
0 commit comments