| NUC472_NUC442_BSP V3.04.000 The Board Support Package for NUC472/NUC442

Macros | Functions
GPIO Exported Functions
NUC472/NUC442 Device Driver » GPIO Driver » GPIO Exported Constants
Collaboration diagram for GPIO Exported Functions:

## Macros
#define | GPIO_CLR_INT_FLAG(gpio, u32PinMask) ((gpio)->INTSRC = u32PinMask)
| Clear GPIO Pin Interrupt Flag. More...
#define | GPIO_DISABLE_DEBOUNCE(gpio, u32PinMask) ((gpio)->DBEN &= ~u32PinMask)
| Disable Pin De-bounce Function. More...
#define | GPIO_ENABLE_DEBOUNCE(gpio, u32PinMask) ((gpio)->DBEN |= u32PinMask)
| Enable Pin De-bounce Function. More...
#define | GPIO_DISABLE_DIGITAL_PATH(gpio, u32PinMask) ((gpio)->DINOFF |= (u32PinMask << 16))
| Disable I/O Digital Input Path. More...
#define | GPIO_ENABLE_DIGITAL_PATH(gpio, u32PinMask) ((gpio)->DINOFF &= ~(u32PinMask << 16))
| Enable I/O Digital Input Path. More...
#define | GPIO_DISABLE_DOUT_MASK(gpio, u32PinMask) ((gpio)->DATMSK &= ~u32PinMask)
| Disable I/O DOUT mask. More...
#define | GPIO_ENABLE_DOUT_MASK(gpio, u32PinMask) ((gpio)->DATMSK |= u32PinMask)
| Enable I/O DOUT mask. More...
#define | GPIO_GET_INT_FLAG(gpio, u32PinMask) ((gpio)->INTSRC & u32PinMask)
| Get GPIO Pin Interrupt Flag. More...
#define | GPIO_SET_DEBOUNCE_TIME(u32ClkSrc, u32ClkSel) (GPIO->DBCTL = (GPIO_DBCTL_ICLKON_Msk | u32ClkSrc | u32ClkSel))
| Set De-bounce Sampling Cycle Time. More...
#define | GPIO_GET_IN_DATA(gpio) ((gpio)->PIN)
| Get GPIO Port IN Data. More...
#define | GPIO_SET_OUT_DATA(gpio, u32Data) ((gpio)->DOUT = (u32Data))
| Set GPIO Port OUT Data. More...
#define | GPIO_TOGGLE(u32Pin) ((u32Pin) ^= 1)
| Toggle Specified GPIO pin. More...
#define | GPIO_EnableEINT0 GPIO_EnableInt
| Enable External GPIO interrupt 0. More...
#define | GPIO_DisableEINT0 GPIO_DisableInt
| Disable External GPIO interrupt 0. More...
#define | GPIO_EnableEINT1 GPIO_EnableInt
| Enable External GPIO interrupt 1. More...
#define | GPIO_DisableEINT1 GPIO_DisableInt
| Disable External GPIO interrupt 1. More...
#define | GPIO_EnableEINT GPIO_EnableInt
| Enable External GPIO interrupt n. More...
#define | GPIO_DisableEINT GPIO_DisableInt
| Disable External GPIO interrupt n. More...

## Functions
void | GPIO_SetMode (GPIO_T *gpio, uint32_t u32PinMask, uint32_t u32Mode)
| Set GPIO operation mode. More...
void | GPIO_EnableInt (GPIO_T *gpio, uint32_t u32Pin, uint32_t u32IntAttribs)
| Enable GPIO interrupt. More...
void | GPIO_DisableInt (GPIO_T *gpio, uint32_t u32Pin)
| Disable GPIO interrupt. More...

## Detailed Description

## Macro Definition Documentation

## ◆ GPIO_CLR_INT_FLAG

#define GPIO_CLR_INT_FLAG | ( |  | gpio,
|  |  | u32PinMask
| ) |  | ((gpio)->INTSRC = u32PinMask)

Clear GPIO Pin Interrupt Flag.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32PinMask | The single or multiple pins of specified GPIO port.

Returns
  None

Clear the interrupt status of specified GPIO pin.

Definition at line 267 of file gpio.h.

## ◆ GPIO_DISABLE_DEBOUNCE

#define GPIO_DISABLE_DEBOUNCE | ( |  | gpio,
|  |  | u32PinMask
| ) |  | ((gpio)->DBEN &= ~u32PinMask)

Disable Pin De-bounce Function.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32PinMask | The single or multiple pins of specified GPIO port.

Returns
  None

Disable the interrupt de-bounce function of specified GPIO pin.

Definition at line 279 of file gpio.h.

## ◆ GPIO_DISABLE_DIGITAL_PATH

#define GPIO_DISABLE_DIGITAL_PATH | ( |  | gpio,
|  |  | u32PinMask
| ) |  | ((gpio)->DINOFF |= (u32PinMask << 16))

Disable I/O Digital Input Path.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32PinMask | The single or multiple pins of specified GPIO port.

Returns
  None

Disable I/O digital input path of specified GPIO pin.

Definition at line 303 of file gpio.h.

## ◆ GPIO_DISABLE_DOUT_MASK

#define GPIO_DISABLE_DOUT_MASK | ( |  | gpio,
|  |  | u32PinMask
| ) |  | ((gpio)->DATMSK &= ~u32PinMask)

Disable I/O DOUT mask.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32PinMask | The single or multiple pins of specified GPIO port.

Returns
  None

Disable I/O DOUT mask of specified GPIO pin.

Definition at line 327 of file gpio.h.

## ◆ GPIO_DisableEINT

#define GPIO_DisableEINT GPIO_DisableInt

Disable External GPIO interrupt n.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32Pin | The pin of specified GPIO port. It could be 0 ~ 15.

Returns
  None

This function is used to enable specified GPIO pin interrupt.

Definition at line 489 of file gpio.h.

## ◆ GPIO_DisableEINT0

#define GPIO_DisableEINT0 GPIO_DisableInt

Disable External GPIO interrupt 0.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32Pin | The pin of specified GPIO port. It could be 0 ~ 15.

Returns
  None

This function is used to enable specified GPIO pin interrupt.

Definition at line 434 of file gpio.h.

## ◆ GPIO_DisableEINT1

#define GPIO_DisableEINT1 GPIO_DisableInt

Disable External GPIO interrupt 1.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32Pin | The pin of specified GPIO port. It could be 0 ~ 15.

Returns
  None

This function is used to enable specified GPIO pin interrupt.

Definition at line 462 of file gpio.h.

## ◆ GPIO_ENABLE_DEBOUNCE

#define GPIO_ENABLE_DEBOUNCE | ( |  | gpio,
|  |  | u32PinMask
| ) |  | ((gpio)->DBEN |= u32PinMask)

Enable Pin De-bounce Function.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32PinMask | The single or multiple pins of specified GPIO port.

Returns
  None

Enable the interrupt de-bounce function of specified GPIO pin.

Definition at line 291 of file gpio.h.

## ◆ GPIO_ENABLE_DIGITAL_PATH

#define GPIO_ENABLE_DIGITAL_PATH | ( |  | gpio,
|  |  | u32PinMask
| ) |  | ((gpio)->DINOFF &= ~(u32PinMask << 16))

Enable I/O Digital Input Path.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32PinMask | The single or multiple pins of specified GPIO port.

Returns
  None

Enable I/O digital input path of specified GPIO pin.

Definition at line 315 of file gpio.h.

## ◆ GPIO_ENABLE_DOUT_MASK

#define GPIO_ENABLE_DOUT_MASK | ( |  | gpio,
|  |  | u32PinMask
| ) |  | ((gpio)->DATMSK |= u32PinMask)

Enable I/O DOUT mask.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32PinMask | The single or multiple pins of specified GPIO port.

Returns
  None

Enable I/O DOUT mask of specified GPIO pin.

Definition at line 339 of file gpio.h.

## ◆ GPIO_EnableEINT

#define GPIO_EnableEINT GPIO_EnableInt

Enable External GPIO interrupt n.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32Pin | The pin of specified GPIO port.
  [in] | u32IntAttribs | The interrupt attribute of specified GPIO pin. It could be GPIO_INT_RISING, GPIO_INT_FALLING, GPIO_INT_BOTH_EDGE, GPIO_INT_HIGH, GPIO_INT_LOW.

Returns
  None

This function is used to enable specified GPIO pin interrupt.

Definition at line 476 of file gpio.h.

## ◆ GPIO_EnableEINT0

#define GPIO_EnableEINT0 GPIO_EnableInt

Enable External GPIO interrupt 0.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32Pin | The pin of specified GPIO port.
  [in] | u32IntAttribs | The interrupt attribute of specified GPIO pin. It could be GPIO_INT_RISING, GPIO_INT_FALLING, GPIO_INT_BOTH_EDGE, GPIO_INT_HIGH, GPIO_INT_LOW.

Returns
  None

This function is used to enable specified GPIO pin interrupt.

Definition at line 421 of file gpio.h.

## ◆ GPIO_EnableEINT1

#define GPIO_EnableEINT1 GPIO_EnableInt

Enable External GPIO interrupt 1.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32Pin | The pin of specified GPIO port.
  [in] | u32IntAttribs | The interrupt attribute of specified GPIO pin. It could be GPIO_INT_RISING, GPIO_INT_FALLING, GPIO_INT_BOTH_EDGE, GPIO_INT_HIGH, GPIO_INT_LOW.

Returns
  None

This function is used to enable specified GPIO pin interrupt.

Definition at line 449 of file gpio.h.

## ◆ GPIO_GET_IN_DATA

#define GPIO_GET_IN_DATA | ( |  | gpio | ) | ((gpio)->PIN)

Get GPIO Port IN Data.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI

Return values

  The | specified port data

Get the PIN register of specified GPIO port.

Definition at line 383 of file gpio.h.

## ◆ GPIO_GET_INT_FLAG

#define GPIO_GET_INT_FLAG | ( |  | gpio,
|  |  | u32PinMask
| ) |  | ((gpio)->INTSRC & u32PinMask)

Get GPIO Pin Interrupt Flag.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32PinMask | The single or multiple pins of specified GPIO port.

Return values

  0 | No interrupt at specified GPIO pin
  1 | The specified GPIO pin generate an interrupt

Get the interrupt status of specified GPIO pin.

Definition at line 352 of file gpio.h.

## ◆ GPIO_SET_DEBOUNCE_TIME

#define GPIO_SET_DEBOUNCE_TIME | ( |  | u32ClkSrc,
|  |  | u32ClkSel
| ) |  | (GPIO->DBCTL = (GPIO_DBCTL_ICLKON_Msk | u32ClkSrc | u32ClkSel))

Set De-bounce Sampling Cycle Time.

Parameters

  [in] | u32ClkSrc | The de-bounce counter clock source. It could be GPIO_DBCTL_DBCLKSRC_HCLK or GPIO_DBCTL_DBCLKSRC_IRC10K.
  [in] | u32ClkSel | The de-bounce sampling cycle selection. It could be GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, GPIO_DBCTL_DBCLKSEL_8, GPIO_DBCTL_DBCLKSEL_16, GPIO_DBCTL_DBCLKSEL_32, GPIO_DBCTL_DBCLKSEL_64, GPIO_DBCTL_DBCLKSEL_128, GPIO_DBCTL_DBCLKSEL_256, GPIO_DBCTL_DBCLKSEL_512, GPIO_DBCTL_DBCLKSEL_1024, GPIO_DBCTL_DBCLKSEL_2048, GPIO_DBCTL_DBCLKSEL_4096, GPIO_DBCTL_DBCLKSEL_8192, GPIO_DBCTL_DBCLKSEL_16384, GPIO_DBCTL_DBCLKSEL_32768.

Returns
  None

Set the interrupt de-bounce sampling cycle time based on the debounce counter clock source.
Example: _GPIO_SET_DEBOUNCE_TIME(GPIO_DBCTL_DBCLKSRC_IRC10K, GPIO_DBCTL_DBCLKSEL_4).
It's meaning the De-debounce counter clock source is internal 10 KHz and sampling cycle selection is 4.
Then the target de-bounce sampling cycle time is (2^4)*(1/(10*1000)) s = 16*0.0001 s = 1600 us, and system will sampling interrupt input once per 1600 us.

Definition at line 372 of file gpio.h.

## ◆ GPIO_SET_OUT_DATA

#define GPIO_SET_OUT_DATA | ( |  | gpio,
|  |  | u32Data
| ) |  | ((gpio)->DOUT = (u32Data))

Set GPIO Port OUT Data.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32Data | GPIO port data.

Return values

  None |

Set the Data into specified GPIO port.

Definition at line 395 of file gpio.h.

## ◆ GPIO_TOGGLE

#define GPIO_TOGGLE | ( |  | u32Pin | ) | ((u32Pin) ^= 1)

Toggle Specified GPIO pin.

Parameters

  [in] | u32Pin | Pxy

Return values

  None |

Toggle the specified GPIO pint.

Definition at line 407 of file gpio.h.

## Function Documentation

## ◆ GPIO_DisableInt()

void GPIO_DisableInt | ( | GPIO_T * | gpio,
|  | uint32_t | u32Pin
| ) |  |

Disable GPIO interrupt.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32Pin | The pin of specified GPIO port. It could be 0 ~ 15.

Returns
  None

This function is used to disable specified GPIO pin interrupt.

Definition at line 82 of file gpio.c.

## ◆ GPIO_EnableInt()

void GPIO_EnableInt | ( | GPIO_T * | gpio,
|  | uint32_t | u32Pin,
|  | uint32_t | u32IntAttribs
| ) |  |

Enable GPIO interrupt.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32Pin | The pin of specified GPIO port. It could be 0 ~ 15.
  [in] | u32IntAttribs | The interrupt attribute of specified GPIO pin. It could be GPIO_INT_RISING, GPIO_INT_FALLING, GPIO_INT_BOTH_EDGE, GPIO_INT_HIGH, GPIO_INT_LOW

Returns
  None

This function is used to enable specified GPIO pin interrupt.

Definition at line 65 of file gpio.c.

## ◆ GPIO_SetMode()

void GPIO_SetMode | ( | GPIO_T * | gpio,
|  | uint32_t | u32PinMask,
|  | uint32_t | u32Mode
| ) |  |

Set GPIO operation mode.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, ... or GPI
  [in] | u32PinMask | The single or multiple pins of specified GPIO port.
  [in] | u32Mode | Operation mode. GPIO_MODE_INPUT, GPIO_MODE_OUTPUT, GPIO_MODE_OPEN_DRAIN, GPIO_MODE_QUASI

Returns
  None

This function is used to set specified GPIO operation mode.

Definition at line 40 of file gpio.c.