From 1f8ed489668d6d74b5f6bf89714c540bfc9cdac4 Mon Sep 17 00:00:00 2001 From: Kevin Townsend Date: Sun, 26 Feb 2012 01:10:54 +0100 Subject: [PATCH] Made IRQHandlers optional --- core/gpio/gpio.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/core/gpio/gpio.c b/core/gpio/gpio.c index 9c84655..44f394a 100644 --- a/core/gpio/gpio.c +++ b/core/gpio/gpio.c @@ -56,8 +56,14 @@ static bool _gpioInitialised = false; /**************************************************************************/ /*! @brief IRQ Handler for GPIO port 0 (currently checks pin 0.1) + + @note By default, this IRQ handler is probably disabled in + projectconfig.h (see GPIO_ENABLE_IRQ0), but you can use + the code below as a model to implement this interrupt + handler in an appropriate place in your project. */ /**************************************************************************/ +#if defined GPIO_ENABLE_IRQ0 void PIOINT0_IRQHandler(void) { uint32_t regVal; @@ -69,12 +75,14 @@ void PIOINT0_IRQHandler(void) } return; } +#endif /**************************************************************************/ /*! @brief IRQ Handler for GPIO port 1 (currently checks pin 1.1) */ /**************************************************************************/ +#if defined GPIO_ENABLE_IRQ1 void PIOINT1_IRQHandler(void) { uint32_t regVal; @@ -107,12 +115,19 @@ void PIOINT1_IRQHandler(void) return; } +#endif /**************************************************************************/ /*! @brief IRQ Handler for GPIO port 2 (currently checks pin 2.1) + + @note By default, this IRQ handler is probably disabled in + projectconfig.h (see GPIO_ENABLE_IRQ2), but you can use + the code below as a model to implement this interrupt + handler in an appropriate place in your project. */ /**************************************************************************/ +#if defined GPIO_ENABLE_IRQ2 void PIOINT2_IRQHandler(void) { uint32_t regVal; @@ -124,12 +139,19 @@ void PIOINT2_IRQHandler(void) } return; } +#endif /**************************************************************************/ /*! @brief IRQ Handler for GPIO port 3 (currently checks pin 3.1) + + @note By default, this IRQ handler is probably disabled in + projectconfig.h (see GPIO_ENABLE_IRQ3), but you can use + the code below as a model to implement this interrupt + handler in an appropriate place in your project. */ /**************************************************************************/ +#if defined GPIO_ENABLE_IRQ3 void PIOINT3_IRQHandler(void) { uint32_t regVal; @@ -141,6 +163,7 @@ void PIOINT3_IRQHandler(void) } return; } +#endif /**************************************************************************/ /*! @@ -352,7 +375,6 @@ void gpioSetInterrupt (uint32_t portNum, uint32_t bitPos, gpioInterruptSense_t s break; } - if (sense == gpioInterruptSense_Edge) { *gpiois &= ~(0x1<