diff options
Diffstat (limited to 'src/core/gpio.h')
| -rwxr-xr-x | src/core/gpio.h | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/core/gpio.h b/src/core/gpio.h index 5b7c05c..56b8adb 100755 --- a/src/core/gpio.h +++ b/src/core/gpio.h @@ -9,6 +9,11 @@ //#if defined (__USE_CMSIS) #include "LPC11xx.h" + +#ifdef __cplusplus + extern "C" { +#endif + //#endif //======================================= // Define LPC_GPIO[4] (each top address) @@ -182,13 +187,30 @@ const unsigned int arduino_pinAssign[] = typedef enum {INPUT, OUTPUT}pinModeState; -typedef enum {LOW, HIGH}digitalWriteState; +typedef enum {LOW, HIGH,CHANGE, RISING, FALLING}digitalWriteState; void pinMode(int pin,pinModeState state); void digitalWrite(int pin,digitalWriteState state); int digitalRead(int pin); - - +void GPIOSetInterrupt(int pin, int sense, int single, int event); +void GPIOIntEnable(int pin); +void GPIOIntDisable(int pin); +void GPIOIntClear(int pin); +int GPIOIntStatus(int pin); + +void PIOINT0_IRQHandler (void); +void PIOINT1_IRQHandler (void); +void PIOINT2_IRQHandler (void); +void PIOINT3_IRQHandler (void); +void GPIO_IRQHandler(void); + +typedef void (* USER_GPIO_FUNC)(void); +void attachInterrupt(int pin,USER_GPIO_FUNC func, digitalWriteState mode) ; +void detachInterrupt(int pin); + +#ifdef __cplusplus + } +#endif #endif /* GPIO_H_ */ |
