LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CHIP: LPC18xx/43xx GPIO Driver

Detailed Description

Functions

STATIC INLINE void Chip_GPIO_Init (LPC_GPIO_T *pGPIO)
 Initialize GPIO block.
 
STATIC INLINE void Chip_GPIO_WritePortBit (LPC_GPIO_T *pGPIO, uint32_t port, uint8_t bit, bool setting)
 Set a GPIO port/bit state.
 
STATIC INLINE void Chip_GPIO_WriteDirBit (LPC_GPIO_T *pGPIO, uint32_t port, uint8_t bit, bool setting)
 Seta GPIO direction.
 
STATIC INLINE bool Chip_GPIO_ReadPortBit (LPC_GPIO_T *pGPIO, uint32_t port, uint8_t bit)
 Read a GPIO state.
 
STATIC INLINE bool Chip_GPIO_ReadDirBit (LPC_GPIO_T *pGPIO, uint32_t port, uint8_t bit)
 Read a GPIO direction (out or in)
 
STATIC INLINE void Chip_GPIO_IntCmd (LPC_GPIOPININT_T *pGPIOPinInt, uint8_t portNum, uint8_t bitValue, IP_GPIOPININT_MODE_T intMode)
 Enable GPIO Interrupt.
 
STATIC INLINE bool Chip_GPIO_IntGetStatus (LPC_GPIOPININT_T *pGPIOPinInt, uint8_t portNum, uint8_t pinNum, uint8_t intMode)
 Get GPIO Interrupt Status.
 
STATIC INLINE void Chip_GPIO_IntClear (LPC_GPIOPININT_T *pGPIOPinInt, uint8_t portNum, uint8_t bitValue)
 Clear GPIO Interrupt (Edge interrupt cases only)
 
STATIC INLINE void Chip_GPIOGP_IntInit (IP_GPIOGROUPINT_001_T *pGPIOGPINT, uint8_t PortComb, uint8_t PortTrigger)
 GPIO Group Interrupt Pin Initialization.
 
STATIC INLINE void Chip_GPIOGP_IntPinAdd (IP_GPIOGROUPINT_001_T *pGPIOGPINT, uint8_t PortNum, uint8_t PinNum, bool ActiveMode)
 GPIO Group Interrupt Pin Add to Group.
 
STATIC INLINE void Chip_GPIOGP_IntPinRemove (IP_GPIOGROUPINT_001_T *pGPIOGPINT, uint8_t PortNum, uint8_t PinNum)
 GPIO Group Interrupt Pin Remove from Group.
 
STATIC INLINE bool Chip_GPIOGP_IntGetStatus (IP_GPIOGROUPINT_001_T *pGPIOGPINT)
 Get GPIO Group Interrupt Get Status.
 
STATIC INLINE void Chip_GPIOGP_IntClear (IP_GPIOGROUPINT_001_T *pGPIOGPINT)
 Clear GPIO Group Interrupt.
 
void Chip_GPIO_SetDir (LPC_GPIO_T *pGPIO, uint8_t portNum, uint32_t bitValue, uint8_t out)
 Set Direction for a GPIO port.
 
STATIC INLINE void Chip_FIO_SetDir (LPC_GPIO_T *pGPIO, uint8_t portNum, uint32_t bitValue, uint8_t out)
 Set Direction for a GPIO port.
 
STATIC INLINE void Chip_FIO_SetValue (LPC_GPIO_T *pGPIO, uint8_t portNum, uint32_t bitValue)
 Set a GPIO port/bit to the high state.
 
STATIC INLINE void Chip_FIO_ClearValue (LPC_GPIO_T *pGPIO, uint8_t portNum, uint32_t bitValue)
 Set a GPIO port/bit to the low state.
 
STATIC INLINE uint32_t Chip_FIO_ReadValue (LPC_GPIO_T *pGPIO, uint8_t portNum)
 Read current bit states for the selected port.
 
STATIC INLINE void Chip_GPIO_SetValue (LPC_GPIO_T *pGPIO, uint8_t portNum, uint32_t bitValue)
 Set a GPIO port/bit to the high state.
 
STATIC INLINE void Chip_GPIO_ClearValue (LPC_GPIO_T *pGPIO, uint8_t portNum, uint32_t bitValue)
 Set a GPIO port/bit to the low state.
 
STATIC INLINE uint32_t Chip_GPIO_ReadValue (LPC_GPIO_T *pGPIO, uint8_t portNum)
 Read current bit states for the selected port.
 

Function Documentation

STATIC INLINE void Chip_FIO_ClearValue ( LPC_GPIO_T pGPIO,
uint8_t  portNum,
uint32_t  bitValue 
)

Set a GPIO port/bit to the low state.

Parameters
pGPIO: The base of GPIO peripheral on the chip
portNum: Port number
bitValue: Bit(s) in the port to set low
Returns
None
Note
Any bit set as a '0' will not have it's state changed. This only applies to ports configured as an output.

Definition at line 256 of file gpio_18xx_43xx.h.

STATIC INLINE uint32_t Chip_FIO_ReadValue ( LPC_GPIO_T pGPIO,
uint8_t  portNum 
)

Read current bit states for the selected port.

Parameters
pGPIO: The base of GPIO peripheral on the chip
portNum: Port number to read
Returns
Current value of GPIO port
Note
The current states of the bits for the port are read, regardless of whether the GPIO port bits are input or output.

Definition at line 270 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_FIO_SetDir ( LPC_GPIO_T pGPIO,
uint8_t  portNum,
uint32_t  bitValue,
uint8_t  out 
)

Set Direction for a GPIO port.

Parameters
pGPIO: The base of GPIO peripheral on the chip
portNum: Port Number
bitValue: GPIO bit to set
out: Direction value, 0 = input, !0 = output
Returns
None
Note
Bits set to '0' are not altered.

Definition at line 226 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_FIO_SetValue ( LPC_GPIO_T pGPIO,
uint8_t  portNum,
uint32_t  bitValue 
)

Set a GPIO port/bit to the high state.

Parameters
pGPIO: The base of GPIO peripheral on the chip
portNum: Port number
bitValue: Bit(s) in the port to set high
Returns
None
Note
Any bit set as a '0' will not have it's state changed. This only applies to ports configured as an output.

Definition at line 241 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_GPIO_ClearValue ( LPC_GPIO_T pGPIO,
uint8_t  portNum,
uint32_t  bitValue 
)

Set a GPIO port/bit to the low state.

Parameters
pGPIO: The base of GPIO peripheral on the chip
portNum: Port number
bitValue: Bit(s) in the port to set low
Returns
None
Note
Any bit set as a '0' will not have it's state changed. This only applies to ports configured as an output.

Definition at line 299 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_GPIO_Init ( LPC_GPIO_T pGPIO)

Initialize GPIO block.

Parameters
pGPIO: The base of GPIO peripheral on the chip
Returns
Nothing

Definition at line 49 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_GPIO_IntClear ( LPC_GPIOPININT_T pGPIOPinInt,
uint8_t  portNum,
uint8_t  bitValue 
)

Clear GPIO Interrupt (Edge interrupt cases only)

Parameters
pGPIOPinInt: The base of GPIO pin interrupt peripheral on the chip
portNum: GPIO port number interrupt, should be: 0 to 7
bitValue: GPIO bit to clear (Not used)
Returns
None

Definition at line 141 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_GPIO_IntCmd ( LPC_GPIOPININT_T pGPIOPinInt,
uint8_t  portNum,
uint8_t  bitValue,
IP_GPIOPININT_MODE_T  intMode 
)

Enable GPIO Interrupt.

Parameters
pGPIOPinInt: The base of GPIO pin interrupt peripheral on the chip
portNum: GPIO port number interrupt, should be: 0 to 7
bitValue: GPIO bit to enable (Not used)
intMode: Interrupt mode, should be: 0: Rising edge interrupt mode 1: Falling edge interrupt mode 2: Active-High interrupt mode 3: Active-Low interrupt mode
Returns
None

Definition at line 116 of file gpio_18xx_43xx.h.

STATIC INLINE bool Chip_GPIO_IntGetStatus ( LPC_GPIOPININT_T pGPIOPinInt,
uint8_t  portNum,
uint8_t  pinNum,
uint8_t  intMode 
)

Get GPIO Interrupt Status.

Parameters
pGPIOPinInt: The base of GPIO pin interrupt peripheral on the chip
portNum: GPIO port number interrupt, should be: 0 to 7
pinNum: GPIO pin to check (Not used)
intMode: Interrupt mode (Not used)
Returns
true if interrupt is pending, otherwise false

Definition at line 129 of file gpio_18xx_43xx.h.

STATIC INLINE bool Chip_GPIO_ReadDirBit ( LPC_GPIO_T pGPIO,
uint32_t  port,
uint8_t  bit 
)

Read a GPIO direction (out or in)

Parameters
pGPIO: The base of GPIO peripheral on the chip
port: GPIO port to read
bit: GPIO bit to read
Returns
true of the GPIO is an output, false if input

Definition at line 99 of file gpio_18xx_43xx.h.

STATIC INLINE bool Chip_GPIO_ReadPortBit ( LPC_GPIO_T pGPIO,
uint32_t  port,
uint8_t  bit 
)

Read a GPIO state.

Parameters
pGPIO: The base of GPIO peripheral on the chip
port: GPIO port to read
bit: GPIO bit to read
Returns
true of the GPIO is high, false if low

Definition at line 87 of file gpio_18xx_43xx.h.

STATIC INLINE uint32_t Chip_GPIO_ReadValue ( LPC_GPIO_T pGPIO,
uint8_t  portNum 
)

Read current bit states for the selected port.

Parameters
pGPIO: The base of GPIO peripheral on the chip
portNum: Port number to read
Returns
Current value of GPIO port
Note
The current states of the bits for the port are read, regardless of whether the GPIO port bits are input or output.

Definition at line 312 of file gpio_18xx_43xx.h.

void Chip_GPIO_SetDir ( LPC_GPIO_T pGPIO,
uint8_t  portNum,
uint32_t  bitValue,
uint8_t  out 
)

Set Direction for a GPIO port.

Parameters
pGPIO: The base of GPIO peripheral on the chip
portNum: Port Number
bitValue: GPIO bit to set
out: Direction value, 0 = input, !0 = output
Returns
None
Note
Bits set to '0' are not altered.

Definition at line 68 of file gpio_11xx.c.

STATIC INLINE void Chip_GPIO_SetValue ( LPC_GPIO_T pGPIO,
uint8_t  portNum,
uint32_t  bitValue 
)

Set a GPIO port/bit to the high state.

Parameters
pGPIO: The base of GPIO peripheral on the chip
portNum: Port number
bitValue: Bit(s) in the port to set high
Returns
None
Note
Any bit set as a '0' will not have it's state changed. This only applies to ports configured as an output.

Definition at line 285 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_GPIO_WriteDirBit ( LPC_GPIO_T pGPIO,
uint32_t  port,
uint8_t  bit,
bool  setting 
)

Seta GPIO direction.

Parameters
pGPIO: The base of GPIO peripheral on the chip
port: GPIO port to set
bit: GPIO bit to set
setting: true for output, false for input
Returns
Nothing

Definition at line 75 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_GPIO_WritePortBit ( LPC_GPIO_T pGPIO,
uint32_t  port,
uint8_t  bit,
bool  setting 
)

Set a GPIO port/bit state.

Parameters
pGPIO: The base of GPIO peripheral on the chip
port: GPIO port to set
bit: GPIO bit to set
setting: true for high, false for low
Returns
Nothing

Definition at line 62 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_GPIOGP_IntClear ( IP_GPIOGROUPINT_001_T pGPIOGPINT)

Clear GPIO Group Interrupt.

Parameters
pGPIOGPINT: Pointer to GPIOIR register block
Returns
None

Definition at line 201 of file gpio_18xx_43xx.h.

STATIC INLINE bool Chip_GPIOGP_IntGetStatus ( IP_GPIOGROUPINT_001_T pGPIOGPINT)

Get GPIO Group Interrupt Get Status.

Parameters
pGPIOGPINT: Pointer to GPIOIR register block
Returns
true if interrupt is pending, otherwise false

Definition at line 191 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_GPIOGP_IntInit ( IP_GPIOGROUPINT_001_T pGPIOGPINT,
uint8_t  PortComb,
uint8_t  PortTrigger 
)

GPIO Group Interrupt Pin Initialization.

Parameters
pGPIOGPINT: Pointer to GPIOIR register block
PortComb: GPIO group combined enable, should be: 0 (OR functionality) and 1 (AND functionality)
PortTrigger: GPIO group interrupt trigger, should be: 0 (Edge-triggered) 1 (Level triggered)
Returns
None

Definition at line 153 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_GPIOGP_IntPinAdd ( IP_GPIOGROUPINT_001_T pGPIOGPINT,
uint8_t  PortNum,
uint8_t  PinNum,
bool  ActiveMode 
)

GPIO Group Interrupt Pin Add to Group.

Parameters
pGPIOGPINT: Pointer to GPIOIR register block
PortNum: GPIO port number, should be 0 to 7
PinNum: GPIO pin number, should be 0 to 31
ActiveMode: GPIO active mode, should be 0 (active LOW) and 1 (active HIGH)
Returns
None

Definition at line 166 of file gpio_18xx_43xx.h.

STATIC INLINE void Chip_GPIOGP_IntPinRemove ( IP_GPIOGROUPINT_001_T pGPIOGPINT,
uint8_t  PortNum,
uint8_t  PinNum 
)

GPIO Group Interrupt Pin Remove from Group.

Parameters
pGPIOGPINT: Pointer to GPIOIR register block
PortNum: GPIO port number, should be 0 to 7
PinNum: GPIO pin number, should be 0 to 31
Returns
None

Definition at line 181 of file gpio_18xx_43xx.h.