LPCOpen Platform for LPC18XX/43XX microcontrollers: CHIP: LPC18xx/43xx Pin Interrupt and Pattern Match driver

| LPCOpen Platform for LPC18XX/43XX microcontrollers 18XX43XX LPCOpen Platform for the NXP LPC18XX/43XX family of Microcontrollers

- Main Page
- Modules
- Data Structures
- Files

Data Structures | Macros | Functions
CHIP: LPC18xx/43xx Pin Interrupt and Pattern Match driver
LPC18xx/43xx chip specific drivers

## Detailed Description

## Data Structures
struct | LPC_PIN_INT_T
| LPC18xx/43xx Pin Interrupt and Pattern Match register block structure. More...

## Macros
#define | PININTCH0 (1 << 0)
#define | PININTCH1 (1 << 1)
#define | PININTCH2 (1 << 2)
#define | PININTCH3 (1 << 3)
#define | PININTCH4 (1 << 4)
#define | PININTCH5 (1 << 5)
#define | PININTCH6 (1 << 6)
#define | PININTCH7 (1 << 7)
#define | PININTCH(ch) (1 << (ch))

## Functions
STATIC INLINE void | Chip_PININT_Init (LPC_PIN_INT_T *pPININT)
| Initialize Pin interrupt block. More...
STATIC INLINE void | Chip_PININT_DeInit (LPC_PIN_INT_T *pPININT)
| De-Initialize Pin interrupt block. More...
STATIC INLINE void | Chip_PININT_SetPinModeEdge (LPC_PIN_INT_T *pPININT, uint32_t pins)
| Configure the pins as edge sensitive in Pin interrupt block. More...
STATIC INLINE void | Chip_PININT_SetPinModeLevel (LPC_PIN_INT_T *pPININT, uint32_t pins)
| Configure the pins as level sensitive in Pin interrupt block. More...
STATIC INLINE uint32_t | Chip_PININT_GetHighEnabled (LPC_PIN_INT_T *pPININT)
| Return current PININT rising edge or high level interrupt enable state. More...
STATIC INLINE void | Chip_PININT_EnableIntHigh (LPC_PIN_INT_T *pPININT, uint32_t pins)
| Enable high edge/level PININT interrupts for pins. More...
STATIC INLINE void | Chip_PININT_DisableIntHigh (LPC_PIN_INT_T *pPININT, uint32_t pins)
| Disable high edge/level PININT interrupts for pins. More...
STATIC INLINE uint32_t | Chip_PININT_GetLowEnabled (LPC_PIN_INT_T *pPININT)
| Return current PININT falling edge or low level interrupt enable state. More...
STATIC INLINE void | Chip_PININT_EnableIntLow (LPC_PIN_INT_T *pPININT, uint32_t pins)
| Enable low edge/level PININT interrupts for pins. More...
STATIC INLINE void | Chip_PININT_DisableIntLow (LPC_PIN_INT_T *pPININT, uint32_t pins)
| Disable low edge/level PININT interrupts for pins. More...
STATIC INLINE uint32_t | Chip_PININT_GetRiseStates (LPC_PIN_INT_T *pPININT)
| Return pin states that have a detected latched high edge (RISE) state. More...
STATIC INLINE void | Chip_PININT_ClearRiseStates (LPC_PIN_INT_T *pPININT, uint32_t pins)
| Clears pin states that had a latched high edge (RISE) state. More...
STATIC INLINE uint32_t | Chip_PININT_GetFallStates (LPC_PIN_INT_T *pPININT)
| Return pin states that have a detected latched falling edge (FALL) state. More...
STATIC INLINE void | Chip_PININT_ClearFallStates (LPC_PIN_INT_T *pPININT, uint32_t pins)
| Clears pin states that had a latched falling edge (FALL) state. More...
STATIC INLINE uint32_t | Chip_PININT_GetIntStatus (LPC_PIN_INT_T *pPININT)
| Get interrupt status from Pin interrupt block. More...
STATIC INLINE void | Chip_PININT_ClearIntStatus (LPC_PIN_INT_T *pPININT, uint32_t pins)
| Clear interrupt status in Pin interrupt block. More...

## Macro Definition Documentation

#define PININTCH | ( |  | ch | ) | (1 << (ch))

Definition at line 72 of file pinint_18xx_43xx.h.

#define PININTCH0 (1 << 0)

LPC18xx/43xx Pin Interrupt channel values

Definition at line 64 of file pinint_18xx_43xx.h.

#define PININTCH1 (1 << 1)

Definition at line 65 of file pinint_18xx_43xx.h.

#define PININTCH2 (1 << 2)

Definition at line 66 of file pinint_18xx_43xx.h.

#define PININTCH3 (1 << 3)

Definition at line 67 of file pinint_18xx_43xx.h.

#define PININTCH4 (1 << 4)

Definition at line 68 of file pinint_18xx_43xx.h.

#define PININTCH5 (1 << 5)

Definition at line 69 of file pinint_18xx_43xx.h.

#define PININTCH6 (1 << 6)

Definition at line 70 of file pinint_18xx_43xx.h.

#define PININTCH7 (1 << 7)

Definition at line 71 of file pinint_18xx_43xx.h.

## Function Documentation

STATIC INLINE void Chip_PININT_ClearFallStates | ( | LPC_PIN_INT_T * | pPININT,
|  | uint32_t | pins
| ) |  |

Clears pin states that had a latched falling edge (FALL) state.

Parameters

  pPININT | : The base address of Pin interrupt block
  pins | : Pins with latched states to clear

Returns
  Nothing

Definition at line 218 of file pinint_18xx_43xx.h.

STATIC INLINE void Chip_PININT_ClearIntStatus | ( | LPC_PIN_INT_T * | pPININT,
|  | uint32_t | pins
| ) |  |

Clear interrupt status in Pin interrupt block.

Parameters

  pPININT | : The base address of Pin interrupt block
  pins | : Pin interrupts to clear (ORed value of PININTCH*)

Returns
  Nothing

Definition at line 239 of file pinint_18xx_43xx.h.

STATIC INLINE void Chip_PININT_ClearRiseStates | ( | LPC_PIN_INT_T * | pPININT,
|  | uint32_t | pins
| ) |  |

Clears pin states that had a latched high edge (RISE) state.

Parameters

  pPININT | : The base address of Pin interrupt block
  pins | : Pins with latched states to clear

Returns
  Nothing

Definition at line 197 of file pinint_18xx_43xx.h.

STATIC INLINE void Chip_PININT_DeInit | ( | LPC_PIN_INT_T * | pPININT | ) |

De-Initialize Pin interrupt block.

Parameters

  pPININT | : The base address of Pin interrupt block

Returns
  Nothing

Definition at line 87 of file pinint_18xx_43xx.h.

STATIC INLINE void Chip_PININT_DisableIntHigh | ( | LPC_PIN_INT_T * | pPININT,
|  | uint32_t | pins
| ) |  |

Disable high edge/level PININT interrupts for pins.

Parameters

  pPININT | : The base address of Pin interrupt block
  pins | : Pins to disable (ORed value of PININTCH*)

Returns
  Nothing

Definition at line 141 of file pinint_18xx_43xx.h.

STATIC INLINE void Chip_PININT_DisableIntLow | ( | LPC_PIN_INT_T * | pPININT,
|  | uint32_t | pins
| ) |  |

Disable low edge/level PININT interrupts for pins.

Parameters

  pPININT | : The base address of Pin interrupt block
  pins | : Pins to disable (ORed value of PININTCH*)

Returns
  Nothing

Definition at line 176 of file pinint_18xx_43xx.h.

STATIC INLINE void Chip_PININT_EnableIntHigh | ( | LPC_PIN_INT_T * | pPININT,
|  | uint32_t | pins
| ) |  |

Enable high edge/level PININT interrupts for pins.

Parameters

  pPININT | : The base address of Pin interrupt block
  pins | : Pins to enable (ORed value of PININTCH*)

Returns
  Nothing

Definition at line 130 of file pinint_18xx_43xx.h.

STATIC INLINE void Chip_PININT_EnableIntLow | ( | LPC_PIN_INT_T * | pPININT,
|  | uint32_t | pins
| ) |  |

Enable low edge/level PININT interrupts for pins.

Parameters

  pPININT | : The base address of Pin interrupt block
  pins | : Pins to enable (ORed value of PININTCH*)

Returns
  Nothing

Definition at line 165 of file pinint_18xx_43xx.h.

STATIC INLINE uint32_t Chip_PININT_GetFallStates | ( | LPC_PIN_INT_T * | pPININT | ) |

Return pin states that have a detected latched falling edge (FALL) state.

Parameters

  pPININT | : The base address of Pin interrupt block

Returns
  PININT states (bit n = high) with a latched rise state detected

Definition at line 207 of file pinint_18xx_43xx.h.

STATIC INLINE uint32_t Chip_PININT_GetHighEnabled | ( | LPC_PIN_INT_T * | pPININT | ) |

Return current PININT rising edge or high level interrupt enable state.

Parameters

  pPININT | : The base address of Pin interrupt block

Returns
  A bifield containing the high edge/level interrupt enables for each interrupt. Bit 0 = PININT0, 1 = PININT1, etc. For each bit, a 0 means the high edge/level interrupt is disabled, while a 1 means it's enabled.

Definition at line 119 of file pinint_18xx_43xx.h.

STATIC INLINE uint32_t Chip_PININT_GetIntStatus | ( | LPC_PIN_INT_T * | pPININT | ) |

Get interrupt status from Pin interrupt block.

Parameters

  pPININT | : The base address of Pin interrupt block

Returns
  Interrupt status (bit n for PININTn = high means interrupt ie pending)

Definition at line 228 of file pinint_18xx_43xx.h.

STATIC INLINE uint32_t Chip_PININT_GetLowEnabled | ( | LPC_PIN_INT_T * | pPININT | ) |

Return current PININT falling edge or low level interrupt enable state.

Parameters

  pPININT | : The base address of Pin interrupt block

Returns
  A bifield containing the low edge/level interrupt enables for each interrupt. Bit 0 = PININT0, 1 = PININT1, etc. For each bit, a 0 means the low edge/level interrupt is disabled, while a 1 means it's enabled.

Definition at line 154 of file pinint_18xx_43xx.h.

STATIC INLINE uint32_t Chip_PININT_GetRiseStates | ( | LPC_PIN_INT_T * | pPININT | ) |

Return pin states that have a detected latched high edge (RISE) state.

Parameters

  pPININT | : The base address of Pin interrupt block

Returns
  PININT states (bit n = high) with a latched rise state detected

Definition at line 186 of file pinint_18xx_43xx.h.

STATIC INLINE void Chip_PININT_Init | ( | LPC_PIN_INT_T * | pPININT | ) |

Initialize Pin interrupt block.

Parameters

  pPININT | : The base address of Pin interrupt block

Returns
  Nothing

Note
  This function should be used after the Chip_GPIO_Init() function.

Definition at line 80 of file pinint_18xx_43xx.h.

STATIC INLINE void Chip_PININT_SetPinModeEdge | ( | LPC_PIN_INT_T * | pPININT,
|  | uint32_t | pins
| ) |  |

Configure the pins as edge sensitive in Pin interrupt block.

Parameters

  pPININT | : The base address of Pin interrupt block
  pins | : Pins (ORed value of PININTCH*)

Returns
  Nothing

Definition at line 95 of file pinint_18xx_43xx.h.

STATIC INLINE void Chip_PININT_SetPinModeLevel | ( | LPC_PIN_INT_T * | pPININT,
|  | uint32_t | pins
| ) |  |

Configure the pins as level sensitive in Pin interrupt block.

Parameters

  pPININT | : The base address of Pin interrupt block
  pins | : Pins (ORed value of PININTCH*)

Returns
  Nothing

Definition at line 106 of file pinint_18xx_43xx.h.