@ -138,6 +138,102 @@ int gpio_init_out(gpio_t dev, gpio_pp_t pushpull)
port = GPIO_15_DEV ;
pin = GPIO_15_PIN ;
break ;
# endif
# if GPIO_16_EN
case GPIO_16 :
port = GPIO_16_DEV ;
pin = GPIO_16_PIN ;
break ;
# endif
# if GPIO_17_EN
case GPIO_17 :
port = GPIO_17_DEV ;
pin = GPIO_17_PIN ;
break ;
# endif
# if GPIO_18_EN
case GPIO_18 :
port = GPIO_18_DEV ;
pin = GPIO_18_PIN ;
break ;
# endif
# if GPIO_19_EN
case GPIO_19 :
port = GPIO_19_DEV ;
pin = GPIO_19_PIN ;
break ;
# endif
# if GPIO_20_EN
case GPIO_20 :
port = GPIO_20_DEV ;
pin = GPIO_20_PIN ;
break ;
# endif
# if GPIO_21_EN
case GPIO_21 :
port = GPIO_21_DEV ;
pin = GPIO_21_PIN ;
break ;
# endif
# if GPIO_22_EN
case GPIO_22 :
port = GPIO_22_DEV ;
pin = GPIO_22_PIN ;
break ;
# endif
# if GPIO_23_EN
case GPIO_23 :
port = GPIO_23_DEV ;
pin = GPIO_23_PIN ;
break ;
# endif
# if GPIO_24_EN
case GPIO_24 :
port = GPIO_24_DEV ;
pin = GPIO_24_PIN ;
break ;
# endif
# if GPIO_25_EN
case GPIO_25 :
port = GPIO_25_DEV ;
pin = GPIO_25_PIN ;
break ;
# endif
# if GPIO_26_EN
case GPIO_26 :
port = GPIO_26_DEV ;
pin = GPIO_26_PIN ;
break ;
# endif
# if GPIO_27_EN
case GPIO_27 :
port = GPIO_27_DEV ;
pin = GPIO_27_PIN ;
break ;
# endif
# if GPIO_28_EN
case GPIO_28 :
port = GPIO_28_DEV ;
pin = GPIO_28_PIN ;
break ;
# endif
# if GPIO_29_EN
case GPIO_29 :
port = GPIO_29_DEV ;
pin = GPIO_29_PIN ;
break ;
# endif
# if GPIO_30_EN
case GPIO_30 :
port = GPIO_30_DEV ;
pin = GPIO_30_PIN ;
break ;
# endif
# if GPIO_31_EN
case GPIO_31 :
port = GPIO_31_DEV ;
pin = GPIO_31_PIN ;
break ;
# endif
}
@ -278,6 +374,118 @@ int gpio_init_in(gpio_t dev, gpio_pp_t pushpull)
pin = GPIO_15_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_15_IRQ ) ;
break ;
# endif
# if GPIO_16_EN
case GPIO_16 :
port = GPIO_16_DEV ;
pin = GPIO_16_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_16_IRQ ) ;
break ;
# endif
# if GPIO_17_EN
case GPIO_17 :
port = GPIO_17_DEV ;
pin = GPIO_17_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_17_IRQ ) ;
break ;
# endif
# if GPIO_18_EN
case GPIO_18 :
port = GPIO_18_DEV ;
pin = GPIO_18_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_18_IRQ ) ;
break ;
# endif
# if GPIO_19_EN
case GPIO_19 :
port = GPIO_19_DEV ;
pin = GPIO_19_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_19_IRQ ) ;
break ;
# endif
# if GPIO_20_EN
case GPIO_20 :
port = GPIO_20_DEV ;
pin = GPIO_20_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_20_IRQ ) ;
break ;
# endif
# if GPIO_21_EN
case GPIO_21 :
port = GPIO_21_DEV ;
pin = GPIO_21_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_21_IRQ ) ;
break ;
# endif
# if GPIO_22_EN
case GPIO_22 :
port = GPIO_22_DEV ;
pin = GPIO_22_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_22_IRQ ) ;
break ;
# endif
# if GPIO_23_EN
case GPIO_23 :
port = GPIO_23_DEV ;
pin = GPIO_23_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_23_IRQ ) ;
break ;
# endif
# if GPIO_24_EN
case GPIO_24 :
port = GPIO_24_DEV ;
pin = GPIO_24_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_24_IRQ ) ;
break ;
# endif
# if GPIO_25_EN
case GPIO_25 :
port = GPIO_25_DEV ;
pin = GPIO_25_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_25_IRQ ) ;
break ;
# endif
# if GPIO_26_EN
case GPIO_26 :
port = GPIO_26_DEV ;
pin = GPIO_26_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_26_IRQ ) ;
break ;
# endif
# if GPIO_27_EN
case GPIO_27 :
port = GPIO_27_DEV ;
pin = GPIO_27_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_27_IRQ ) ;
break ;
# endif
# if GPIO_28_EN
case GPIO_28 :
port = GPIO_28_DEV ;
pin = GPIO_28_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_28_IRQ ) ;
break ;
# endif
# if GPIO_29_EN
case GPIO_29 :
port = GPIO_29_DEV ;
pin = GPIO_29_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_29_IRQ ) ;
break ;
# endif
# if GPIO_30_EN
case GPIO_30 :
port = GPIO_30_DEV ;
pin = GPIO_30_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_30_IRQ ) ;
break ;
# endif
# if GPIO_31_EN
case GPIO_31 :
port = GPIO_31_DEV ;
pin = GPIO_31_PIN ;
PMC - > PMC_PCER0 = ( 1 < < GPIO_31_IRQ ) ;
break ;
# endif
}
@ -442,6 +650,134 @@ int gpio_init_int(gpio_t dev, gpio_pp_t pullup, gpio_flank_t flank, gpio_cb_t cb
NVIC_SetPriority ( GPIO_15_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_15_IRQ ) ;
break ;
# endif
# if GPIO_16_EN
case GPIO_16 :
port = GPIO_16_DEV ;
pin = GPIO_16_PIN ;
NVIC_SetPriority ( GPIO_16_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_16_IRQ ) ;
break ;
# endif
# if GPIO_17_EN
case GPIO_17 :
port = GPIO_17_DEV ;
pin = GPIO_17_PIN ;
NVIC_SetPriority ( GPIO_17_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_17_IRQ ) ;
break ;
# endif
# if GPIO_18_EN
case GPIO_18 :
port = GPIO_18_DEV ;
pin = GPIO_18_PIN ;
NVIC_SetPriority ( GPIO_18_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_18_IRQ ) ;
break ;
# endif
# if GPIO_19_EN
case GPIO_19 :
port = GPIO_19_DEV ;
pin = GPIO_19_PIN ;
NVIC_SetPriority ( GPIO_19_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_19_IRQ ) ;
break ;
# endif
# if GPIO_20_EN
case GPIO_20 :
port = GPIO_20_DEV ;
pin = GPIO_20_PIN ;
NVIC_SetPriority ( GPIO_20_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_20_IRQ ) ;
break ;
# endif
# if GPIO_21_EN
case GPIO_21 :
port = GPIO_21_DEV ;
pin = GPIO_21_PIN ;
NVIC_SetPriority ( GPIO_21_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_21_IRQ ) ;
break ;
# endif
# if GPIO_22_EN
case GPIO_22 :
port = GPIO_22_DEV ;
pin = GPIO_22_PIN ;
NVIC_SetPriority ( GPIO_22_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_22_IRQ ) ;
break ;
# endif
# if GPIO_23_EN
case GPIO_23 :
port = GPIO_23_DEV ;
pin = GPIO_23_PIN ;
NVIC_SetPriority ( GPIO_23_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_23_IRQ ) ;
break ;
# endif
# if GPIO_24_EN
case GPIO_24 :
port = GPIO_24_DEV ;
pin = GPIO_24_PIN ;
NVIC_SetPriority ( GPIO_24_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_24_IRQ ) ;
break ;
# endif
# if GPIO_25_EN
case GPIO_25 :
port = GPIO_25_DEV ;
pin = GPIO_25_PIN ;
NVIC_SetPriority ( GPIO_25_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_25_IRQ ) ;
break ;
# endif
# if GPIO_26_EN
case GPIO_26 :
port = GPIO_26_DEV ;
pin = GPIO_26_PIN ;
NVIC_SetPriority ( GPIO_26_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_26_IRQ ) ;
break ;
# endif
# if GPIO_27_EN
case GPIO_27 :
port = GPIO_27_DEV ;
pin = GPIO_27_PIN ;
NVIC_SetPriority ( GPIO_27_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_27_IRQ ) ;
break ;
# endif
# if GPIO_28_EN
case GPIO_28 :
port = GPIO_28_DEV ;
pin = GPIO_28_PIN ;
NVIC_SetPriority ( GPIO_28_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_28_IRQ ) ;
break ;
# endif
# if GPIO_29_EN
case GPIO_29 :
port = GPIO_29_DEV ;
pin = GPIO_29_PIN ;
NVIC_SetPriority ( GPIO_29_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_29_IRQ ) ;
break ;
# endif
# if GPIO_30_EN
case GPIO_30 :
port = GPIO_30_DEV ;
pin = GPIO_30_PIN ;
NVIC_SetPriority ( GPIO_30_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_30_IRQ ) ;
break ;
# endif
# if GPIO_31_EN
case GPIO_31 :
port = GPIO_31_DEV ;
pin = GPIO_31_PIN ;
NVIC_SetPriority ( GPIO_31_IRQ , GPIO_IRQ_PRIO ) ;
NVIC_EnableIRQ ( GPIO_31_IRQ ) ;
break ;
# endif
}
@ -577,6 +913,102 @@ int gpio_read(gpio_t dev)
port = GPIO_15_DEV ;
pin = GPIO_15_PIN ;
break ;
# endif
# if GPIO_16_EN
case GPIO_16 :
port = GPIO_16_DEV ;
pin = GPIO_16_PIN ;
break ;
# endif
# if GPIO_17_EN
case GPIO_17 :
port = GPIO_17_DEV ;
pin = GPIO_17_PIN ;
break ;
# endif
# if GPIO_18_EN
case GPIO_18 :
port = GPIO_18_DEV ;
pin = GPIO_18_PIN ;
break ;
# endif
# if GPIO_19_EN
case GPIO_19 :
port = GPIO_19_DEV ;
pin = GPIO_19_PIN ;
break ;
# endif
# if GPIO_20_EN
case GPIO_20 :
port = GPIO_20_DEV ;
pin = GPIO_20_PIN ;
break ;
# endif
# if GPIO_21_EN
case GPIO_21 :
port = GPIO_21_DEV ;
pin = GPIO_21_PIN ;
break ;
# endif
# if GPIO_22_EN
case GPIO_22 :
port = GPIO_22_DEV ;
pin = GPIO_22_PIN ;
break ;
# endif
# if GPIO_23_EN
case GPIO_23 :
port = GPIO_23_DEV ;
pin = GPIO_23_PIN ;
break ;
# endif
# if GPIO_24_EN
case GPIO_24 :
port = GPIO_24_DEV ;
pin = GPIO_24_PIN ;
break ;
# endif
# if GPIO_25_EN
case GPIO_25 :
port = GPIO_25_DEV ;
pin = GPIO_25_PIN ;
break ;
# endif
# if GPIO_26_EN
case GPIO_26 :
port = GPIO_26_DEV ;
pin = GPIO_26_PIN ;
break ;
# endif
# if GPIO_27_EN
case GPIO_27 :
port = GPIO_27_DEV ;
pin = GPIO_27_PIN ;
break ;
# endif
# if GPIO_28_EN
case GPIO_28 :
port = GPIO_28_DEV ;
pin = GPIO_28_PIN ;
break ;
# endif
# if GPIO_29_EN
case GPIO_29 :
port = GPIO_29_DEV ;
pin = GPIO_29_PIN ;
break ;
# endif
# if GPIO_30_EN
case GPIO_30 :
port = GPIO_30_DEV ;
pin = GPIO_30_PIN ;
break ;
# endif
# if GPIO_31_EN
case GPIO_31 :
port = GPIO_31_DEV ;
pin = GPIO_31_PIN ;
break ;
# endif
}
@ -677,6 +1109,86 @@ void gpio_set(gpio_t dev)
case GPIO_15 :
GPIO_15_DEV - > PIO_SODR = GPIO_15_PIN ;
break ;
# endif
# if GPIO_16_EN
case GPIO_16 :
GPIO_16_DEV - > PIO_SODR = GPIO_16_PIN ;
break ;
# endif
# if GPIO_17_EN
case GPIO_17 :
GPIO_17_DEV - > PIO_SODR = GPIO_17_PIN ;
break ;
# endif
# if GPIO_18_EN
case GPIO_18 :
GPIO_18_DEV - > PIO_SODR = GPIO_18_PIN ;
break ;
# endif
# if GPIO_19_EN
case GPIO_19 :
GPIO_19_DEV - > PIO_SODR = GPIO_19_PIN ;
break ;
# endif
# if GPIO_20_EN
case GPIO_20 :
GPIO_20_DEV - > PIO_SODR = GPIO_20_PIN ;
break ;
# endif
# if GPIO_21_EN
case GPIO_21 :
GPIO_21_DEV - > PIO_SODR = GPIO_21_PIN ;
break ;
# endif
# if GPIO_22_EN
case GPIO_22 :
GPIO_22_DEV - > PIO_SODR = GPIO_22_PIN ;
break ;
# endif
# if GPIO_23_EN
case GPIO_23 :
GPIO_23_DEV - > PIO_SODR = GPIO_23_PIN ;
break ;
# endif
# if GPIO_24_EN
case GPIO_24 :
GPIO_24_DEV - > PIO_SODR = GPIO_24_PIN ;
break ;
# endif
# if GPIO_25_EN
case GPIO_25 :
GPIO_25_DEV - > PIO_SODR = GPIO_25_PIN ;
break ;
# endif
# if GPIO_26_EN
case GPIO_26 :
GPIO_26_DEV - > PIO_SODR = GPIO_26_PIN ;
break ;
# endif
# if GPIO_27_EN
case GPIO_27 :
GPIO_27_DEV - > PIO_SODR = GPIO_27_PIN ;
break ;
# endif
# if GPIO_28_EN
case GPIO_28 :
GPIO_28_DEV - > PIO_SODR = GPIO_28_PIN ;
break ;
# endif
# if GPIO_29_EN
case GPIO_29 :
GPIO_29_DEV - > PIO_SODR = GPIO_29_PIN ;
break ;
# endif
# if GPIO_30_EN
case GPIO_30 :
GPIO_30_DEV - > PIO_SODR = GPIO_30_PIN ;
break ;
# endif
# if GPIO_31_EN
case GPIO_31 :
GPIO_31_DEV - > PIO_SODR = GPIO_31_PIN ;
break ;
# endif
}
}
@ -763,6 +1275,86 @@ void gpio_clear(gpio_t dev)
case GPIO_15 :
GPIO_15_DEV - > PIO_CODR = GPIO_15_PIN ;
break ;
# endif
# if GPIO_16_EN
case GPIO_16 :
GPIO_16_DEV - > PIO_CODR = GPIO_16_PIN ;
break ;
# endif
# if GPIO_17_EN
case GPIO_17 :
GPIO_17_DEV - > PIO_CODR = GPIO_17_PIN ;
break ;
# endif
# if GPIO_18_EN
case GPIO_18 :
GPIO_18_DEV - > PIO_CODR = GPIO_18_PIN ;
break ;
# endif
# if GPIO_19_EN
case GPIO_19 :
GPIO_19_DEV - > PIO_CODR = GPIO_19_PIN ;
break ;
# endif
# if GPIO_20_EN
case GPIO_20 :
GPIO_20_DEV - > PIO_CODR = GPIO_20_PIN ;
break ;
# endif
# if GPIO_21_EN
case GPIO_21 :
GPIO_21_DEV - > PIO_CODR = GPIO_21_PIN ;
break ;
# endif
# if GPIO_22_EN
case GPIO_22 :
GPIO_22_DEV - > PIO_CODR = GPIO_22_PIN ;
break ;
# endif
# if GPIO_23_EN
case GPIO_23 :
GPIO_23_DEV - > PIO_CODR = GPIO_23_PIN ;
break ;
# endif
# if GPIO_24_EN
case GPIO_24 :
GPIO_24_DEV - > PIO_CODR = GPIO_24_PIN ;
break ;
# endif
# if GPIO_25_EN
case GPIO_25 :
GPIO_25_DEV - > PIO_CODR = GPIO_25_PIN ;
break ;
# endif
# if GPIO_26_EN
case GPIO_26 :
GPIO_26_DEV - > PIO_CODR = GPIO_26_PIN ;
break ;
# endif
# if GPIO_27_EN
case GPIO_27 :
GPIO_27_DEV - > PIO_CODR = GPIO_27_PIN ;
break ;
# endif
# if GPIO_28_EN
case GPIO_28 :
GPIO_28_DEV - > PIO_CODR = GPIO_28_PIN ;
break ;
# endif
# if GPIO_29_EN
case GPIO_29 :
GPIO_29_DEV - > PIO_CODR = GPIO_29_PIN ;
break ;
# endif
# if GPIO_30_EN
case GPIO_30 :
GPIO_30_DEV - > PIO_CODR = GPIO_30_PIN ;
break ;
# endif
# if GPIO_31_EN
case GPIO_31 :
GPIO_31_DEV - > PIO_CODR = GPIO_31_PIN ;
break ;
# endif
}
}
@ -785,6 +1377,338 @@ void gpio_write(gpio_t dev, int value)
}
}
void gpio_irq_disable ( gpio_t dev )
{
switch ( dev ) {
# if GPIO_0_EN
case GPIO_0 :
NVIC_DisableIRQ ( GPIO_0_IRQ ) ;
break ;
# endif
# if GPIO_1_EN
case GPIO_1 :
NVIC_DisableIRQ ( GPIO_1_IRQ ) ;
break ;
# endif
# if GPIO_2_EN
case GPIO_2 :
NVIC_DisableIRQ ( GPIO_2_IRQ ) ;
break ;
# endif
# if GPIO_3_EN
case GPIO_3 :
NVIC_DisableIRQ ( GPIO_3_IRQ ) ;
break ;
# endif
# if GPIO_4_EN
case GPIO_4 :
NVIC_DisableIRQ ( GPIO_4_IRQ ) ;
break ;
# endif
# if GPIO_5_EN
case GPIO_5 :
NVIC_DisableIRQ ( GPIO_5_IRQ ) ;
break ;
# endif
# if GPIO_6_EN
case GPIO_6 :
NVIC_DisableIRQ ( GPIO_6_IRQ ) ;
break ;
# endif
# if GPIO_7_EN
case GPIO_7 :
NVIC_DisableIRQ ( GPIO_7_IRQ ) ;
break ;
# endif
# if GPIO_8_EN
case GPIO_8 :
NVIC_DisableIRQ ( GPIO_8_IRQ ) ;
break ;
# endif
# if GPIO_9_EN
case GPIO_9 :
NVIC_DisableIRQ ( GPIO_9_IRQ ) ;
break ;
# endif
# if GPIO_10_EN
case GPIO_10 :
NVIC_DisableIRQ ( GPIO_10_IRQ ) ;
break ;
# endif
# if GPIO_11_EN
case GPIO_11 :
NVIC_DisableIRQ ( GPIO_11_IRQ ) ;
break ;
# endif
# if GPIO_12_EN
case GPIO_12 :
NVIC_DisableIRQ ( GPIO_12_IRQ ) ;
break ;
# endif
# if GPIO_13_EN
case GPIO_13 :
NVIC_DisableIRQ ( GPIO_13_IRQ ) ;
break ;
# endif
# if GPIO_14_EN
case GPIO_14 :
NVIC_DisableIRQ ( GPIO_14_IRQ ) ;
break ;
# endif
# if GPIO_15_EN
case GPIO_15 :
NVIC_DisableIRQ ( GPIO_15_IRQ ) ;
break ;
# endif
# if GPIO_16_EN
case GPIO_16 :
NVIC_DisableIRQ ( GPIO_16_IRQ ) ;
break ;
# endif
# if GPIO_17_EN
case GPIO_17 :
NVIC_DisableIRQ ( GPIO_17_IRQ ) ;
break ;
# endif
# if GPIO_18_EN
case GPIO_18 :
NVIC_DisableIRQ ( GPIO_18_IRQ ) ;
break ;
# endif
# if GPIO_19_EN
case GPIO_19 :
NVIC_DisableIRQ ( GPIO_19_IRQ ) ;
break ;
# endif
# if GPIO_20_EN
case GPIO_20 :
NVIC_DisableIRQ ( GPIO_20_IRQ ) ;
break ;
# endif
# if GPIO_21_EN
case GPIO_21 :
NVIC_DisableIRQ ( GPIO_21_IRQ ) ;
break ;
# endif
# if GPIO_22_EN
case GPIO_22 :
NVIC_DisableIRQ ( GPIO_22_IRQ ) ;
break ;
# endif
# if GPIO_23_EN
case GPIO_23 :
NVIC_DisableIRQ ( GPIO_23_IRQ ) ;
break ;
# endif
# if GPIO_24_EN
case GPIO_24 :
NVIC_DisableIRQ ( GPIO_24_IRQ ) ;
break ;
# endif
# if GPIO_25_EN
case GPIO_25 :
NVIC_DisableIRQ ( GPIO_25_IRQ ) ;
break ;
# endif
# if GPIO_26_EN
case GPIO_26 :
NVIC_DisableIRQ ( GPIO_26_IRQ ) ;
break ;
# endif
# if GPIO_27_EN
case GPIO_27 :
NVIC_DisableIRQ ( GPIO_27_IRQ ) ;
break ;
# endif
# if GPIO_28_EN
case GPIO_28 :
NVIC_DisableIRQ ( GPIO_28_IRQ ) ;
break ;
# endif
# if GPIO_29_EN
case GPIO_29 :
NVIC_DisableIRQ ( GPIO_29_IRQ ) ;
break ;
# endif
# if GPIO_30_EN
case GPIO_30 :
NVIC_DisableIRQ ( GPIO_30_IRQ ) ;
break ;
# endif
# if GPIO_31_EN
case GPIO_31 :
NVIC_DisableIRQ ( GPIO_31_IRQ ) ;
break ;
# endif
}
}
void gpio_irq_enable ( gpio_t dev )
{
switch ( dev ) {
# if GPIO_0_EN
case GPIO_0 :
NVIC_EnableIRQ ( GPIO_0_IRQ ) ;
break ;
# endif
# if GPIO_1_EN
case GPIO_1 :
NVIC_EnableIRQ ( GPIO_1_IRQ ) ;
break ;
# endif
# if GPIO_2_EN
case GPIO_2 :
NVIC_EnableIRQ ( GPIO_2_IRQ ) ;
break ;
# endif
# if GPIO_3_EN
case GPIO_3 :
NVIC_EnableIRQ ( GPIO_3_IRQ ) ;
break ;
# endif
# if GPIO_4_EN
case GPIO_4 :
NVIC_EnableIRQ ( GPIO_4_IRQ ) ;
break ;
# endif
# if GPIO_5_EN
case GPIO_5 :
NVIC_EnableIRQ ( GPIO_5_IRQ ) ;
break ;
# endif
# if GPIO_6_EN
case GPIO_6 :
NVIC_EnableIRQ ( GPIO_6_IRQ ) ;
break ;
# endif
# if GPIO_7_EN
case GPIO_7 :
NVIC_EnableIRQ ( GPIO_7_IRQ ) ;
break ;
# endif
# if GPIO_8_EN
case GPIO_8 :
NVIC_EnableIRQ ( GPIO_8_IRQ ) ;
break ;
# endif
# if GPIO_9_EN
case GPIO_9 :
NVIC_EnableIRQ ( GPIO_9_IRQ ) ;
break ;
# endif
# if GPIO_10_EN
case GPIO_10 :
NVIC_EnableIRQ ( GPIO_10_IRQ ) ;
break ;
# endif
# if GPIO_11_EN
case GPIO_11 :
NVIC_EnableIRQ ( GPIO_11_IRQ ) ;
break ;
# endif
# if GPIO_12_EN
case GPIO_12 :
NVIC_EnableIRQ ( GPIO_12_IRQ ) ;
break ;
# endif
# if GPIO_13_EN
case GPIO_13 :
NVIC_EnableIRQ ( GPIO_13_IRQ ) ;
break ;
# endif
# if GPIO_14_EN
case GPIO_14 :
NVIC_EnableIRQ ( GPIO_14_IRQ ) ;
break ;
# endif
# if GPIO_15_EN
case GPIO_15 :
NVIC_EnableIRQ ( GPIO_15_IRQ ) ;
break ;
# endif
# if GPIO_16_EN
case GPIO_16 :
NVIC_EnableIRQ ( GPIO_16_IRQ ) ;
break ;
# endif
# if GPIO_17_EN
case GPIO_17 :
NVIC_EnableIRQ ( GPIO_17_IRQ ) ;
break ;
# endif
# if GPIO_18_EN
case GPIO_18 :
NVIC_EnableIRQ ( GPIO_18_IRQ ) ;
break ;
# endif
# if GPIO_19_EN
case GPIO_19 :
NVIC_EnableIRQ ( GPIO_19_IRQ ) ;
break ;
# endif
# if GPIO_20_EN
case GPIO_20 :
NVIC_EnableIRQ ( GPIO_20_IRQ ) ;
break ;
# endif
# if GPIO_21_EN
case GPIO_21 :
NVIC_EnableIRQ ( GPIO_21_IRQ ) ;
break ;
# endif
# if GPIO_22_EN
case GPIO_22 :
NVIC_EnableIRQ ( GPIO_22_IRQ ) ;
break ;
# endif
# if GPIO_23_EN
case GPIO_23 :
NVIC_EnableIRQ ( GPIO_23_IRQ ) ;
break ;
# endif
# if GPIO_24_EN
case GPIO_24 :
NVIC_EnableIRQ ( GPIO_24_IRQ ) ;
break ;
# endif
# if GPIO_25_EN
case GPIO_25 :
NVIC_EnableIRQ ( GPIO_25_IRQ ) ;
break ;
# endif
# if GPIO_26_EN
case GPIO_26 :
NVIC_EnableIRQ ( GPIO_26_IRQ ) ;
break ;
# endif
# if GPIO_27_EN
case GPIO_27 :
NVIC_EnableIRQ ( GPIO_27_IRQ ) ;
break ;
# endif
# if GPIO_28_EN
case GPIO_28 :
NVIC_EnableIRQ ( GPIO_28_IRQ ) ;
break ;
# endif
# if GPIO_29_EN
case GPIO_29 :
NVIC_EnableIRQ ( GPIO_29_IRQ ) ;
break ;
# endif
# if GPIO_30_EN
case GPIO_30 :
NVIC_EnableIRQ ( GPIO_30_IRQ ) ;
break ;
# endif
# if GPIO_31_EN
case GPIO_31 :
NVIC_EnableIRQ ( GPIO_31_IRQ ) ;
break ;
# endif
}
}
void isr_pioa ( void )
{
uint32_t status = PIOA - > PIO_ISR ;