LPCOpen Platform for LPC112X microcontrollers  112X
LPCOpen Platform for the NXP LPC112X family of Microcontrollers
Data Structures | Enumerations | Functions
gpio_112x.h File Reference

Go to the source code of this file.

Data Structures

struct  LPC_GPIO_T
 GPIO port register block structure. More...
 

Enumerations

enum  GPIO_INT_MODE_T {
  GPIO_INT_ACTIVE_LOW_LEVEL = 0x0, GPIO_INT_ACTIVE_HIGH_LEVEL = 0x1, GPIO_INT_FALLING_EDGE = 0x2, GPIO_INT_RISING_EDGE = 0x3,
  GPIO_INT_BOTH_EDGES = 0x6
}
 GPIO interrupt mode definitions. More...
 

Functions

void Chip_GPIO_Init (LPC_GPIO_T *pGPIO)
 Initialize GPIO block. More...
 
void Chip_GPIO_DeInit (LPC_GPIO_T *pGPIO)
 De-Initialize GPIO block. More...
 
STATIC INLINE void Chip_GPIO_WritePortBit (LPC_GPIO_T *pGPIO, uint32_t port, uint8_t bit, bool setting)
 Set a GPIO port/bit state. More...
 
STATIC INLINE void Chip_GPIO_SetPinState (LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin, bool setting)
 Set a GPIO pin state via the GPIO byte register. More...
 
STATIC INLINE bool Chip_GPIO_ReadPortBit (LPC_GPIO_T *pGPIO, uint32_t port, uint8_t bit)
 Read a GPIO state. More...
 
STATIC INLINE bool Chip_GPIO_GetPinState (LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin)
 Get a GPIO pin state via the GPIO byte register. More...
 
void Chip_GPIO_WriteDirBit (LPC_GPIO_T *pGPIO, uint32_t port, uint8_t bit, bool setting)
 Seta GPIO direction. More...
 
STATIC INLINE void Chip_GPIO_SetPinDIROutput (LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin)
 Set GPIO direction for a single GPIO pin to an output. More...
 
STATIC INLINE void Chip_GPIO_SetPinDIRInput (LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin)
 Set GPIO direction for a single GPIO pin to an input. More...
 
void Chip_GPIO_SetPinDIR (LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin, bool output)
 Set GPIO direction for a single GPIO pin. More...
 
STATIC INLINE bool Chip_GPIO_ReadDirBit (LPC_GPIO_T *pGPIO, uint32_t port, uint8_t bit)
 Read a GPIO direction (out or in) More...
 
STATIC INLINE bool Chip_GPIO_GetPinDIR (LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin)
 Get GPIO direction for a single GPIO pin. More...
 
void Chip_GPIO_SetDir (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t bit, uint8_t out)
 Set Direction for a GPIO port. More...
 
STATIC INLINE void Chip_GPIO_SetPortDIROutput (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinMask)
 Set GPIO direction for a all selected GPIO pins to an output. More...
 
STATIC INLINE void Chip_GPIO_SetPortDIRInput (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinMask)
 Set GPIO direction for a all selected GPIO pins to an input. More...
 
void Chip_GPIO_SetPortDIR (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinMask, bool outSet)
 Set GPIO direction for a all selected GPIO pins to an input or output. More...
 
STATIC INLINE uint32_t Chip_GPIO_GetPortDIR (LPC_GPIO_T *pGPIO, uint8_t port)
 Get GPIO direction for a all GPIO pins. More...
 
STATIC INLINE void Chip_GPIO_SetPortValue (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t value)
 Set all GPIO raw pin states (regardless of masking) More...
 
STATIC INLINE uint32_t Chip_GPIO_GetPortValue (LPC_GPIO_T *pGPIO, uint8_t port)
 Get all GPIO raw pin states (regardless of masking) More...
 
STATIC INLINE void Chip_GPIO_SetValue (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t bit)
 Set a GPIO port/bit to the high state. More...
 
STATIC INLINE void Chip_GPIO_SetPortOutHigh (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pins)
 Set selected GPIO output pins to the high state. More...
 
STATIC INLINE void Chip_GPIO_SetPinOutHigh (LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin)
 Set an individual GPIO output pin to the high state. More...
 
STATIC INLINE void Chip_GPIO_ClearValue (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t bit)
 Set a GPIO port/bit to the low state. More...
 
STATIC INLINE void Chip_GPIO_SetPortOutLow (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pins)
 Set selected GPIO output pins to the low state. More...
 
STATIC INLINE void Chip_GPIO_SetPinOutLow (LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin)
 Set an individual GPIO output pin to the low state. More...
 
STATIC INLINE void Chip_GPIO_SetPortToggle (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pins)
 Toggle selected GPIO output pins to the opposite state. More...
 
STATIC INLINE void Chip_GPIO_SetPinToggle (LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin)
 Toggle an individual GPIO output pin to the opposite state. More...
 
STATIC INLINE uint32_t Chip_GPIO_ReadValue (LPC_GPIO_T *pGPIO, uint8_t port)
 Read current bit states for the selected port. More...
 
STATIC INLINE void Chip_GPIO_SetPinModeEdge (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinmask)
 Configure the pins as edge sensitive for interrupts. More...
 
STATIC INLINE void Chip_GPIO_SetPinModeLevel (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinmask)
 Configure the pins as level sensitive for interrupts. More...
 
STATIC INLINE uint32_t Chip_GPIO_IsLevelEnabled (LPC_GPIO_T *pGPIO, uint8_t port)
 Returns current GPIO edge or high level interrupt configuration for all pins for a port. More...
 
STATIC INLINE void Chip_GPIO_SetEdgeModeBoth (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinmask)
 Sets GPIO interrupt configuration for both edges for selected pins. More...
 
STATIC INLINE void Chip_GPIO_SetEdgeModeSingle (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinmask)
 Sets GPIO interrupt configuration for a single edge for selected pins. More...
 
STATIC INLINE uint32_t Chip_GPIO_GetEdgeModeDir (LPC_GPIO_T *pGPIO, uint8_t port)
 Returns current GPIO interrupt dual or single edge configuration for all pins for a port. More...
 
STATIC INLINE void Chip_GPIO_SetModeHigh (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinmask)
 Sets GPIO interrupt configuration when in single edge or level mode to high edge trigger or high level. More...
 
STATIC INLINE void Chip_GPIO_SetModeLow (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinmask)
 Sets GPIO interrupt configuration when in single edge or level mode to low edge trigger or low level. More...
 
STATIC INLINE uint32_t Chip_GPIO_GetModeHighLow (LPC_GPIO_T *pGPIO, uint8_t port)
 Returns current GPIO interrupt edge direction or level mode. More...
 
STATIC INLINE void Chip_GPIO_EnableInt (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinmask)
 Enables interrupts for selected pins on a port. More...
 
STATIC INLINE void Chip_GPIO_DisableInt (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinmask)
 Disables interrupts for selected pins on a port. More...
 
STATIC INLINE uint32_t Chip_GPIO_GetEnabledInts (LPC_GPIO_T *pGPIO, uint8_t port)
 Returns current enable pin interrupts for a port. More...
 
STATIC INLINE uint32_t Chip_GPIO_GetRawInts (LPC_GPIO_T *pGPIO, uint8_t port)
 Returns raw interrupt pending status for pin interrupts for a port. More...
 
STATIC INLINE uint32_t Chip_GPIO_GetMaskedInts (LPC_GPIO_T *pGPIO, uint8_t port)
 Returns masked interrupt pending status for pin interrupts for a port. More...
 
STATIC INLINE void Chip_GPIO_ClearInts (LPC_GPIO_T *pGPIO, uint8_t port, uint32_t pinmask)
 Clears pending interrupts for selected pins for a port. More...
 
void Chip_GPIO_SetupPinInt (LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin, GPIO_INT_MODE_T mode)
 Composite function for setting up a full interrupt configuration for a single pin. More...