| NANO100_BSP V3.05.000 The Board Support Package for Nano100BN Series

Macros | Functions
GPIO Exported Functions
NANO100 Device Driver » GPIO Driver » GPIO Exported Constants
Collaboration diagram for GPIO Exported Functions:

## Macros
#define | GPIO_CLR_INT_FLAG(gpio, u32PinMask) ((gpio)->ISRC = 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)->OFFD |= (u32PinMask << 16))
| Disable I/O Digital Input Path. More...
#define | GPIO_ENABLE_DIGITAL_PATH(gpio, u32PinMask) ((gpio)->OFFD &= ~(u32PinMask << 16))
| Enable I/O Digital Input Path. More...
#define | GPIO_DISABLE_DOUT_MASK(gpio, u32PinMask) ((gpio)->DMASK &= ~u32PinMask)
| Disable I/O DOUT mask. More...
#define | GPIO_ENABLE_DOUT_MASK(gpio, u32PinMask) ((gpio)->DMASK |= u32PinMask)
| Enable I/O DOUT mask. More...
#define | GPIO_GET_INT_FLAG(gpio, u32PinMask) ((gpio)->ISRC & u32PinMask)
| Get GPIO Pin Interrupt Flag. More...
#define | GPIO_SET_DEBOUNCE_TIME(u32ClkSrc, u32ClkSel) (GPIO->DBNCECON = (GP_DBNCECON_DBCLK_ON_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_DISABLE_PULL_UP(gpio, u32PinMask) ((gpio)->PUEN &= ~u32PinMask)
| Disable Pin Pull-up resistor Function. More...
#define | GPIO_ENABLE_PULL_UP(gpio, u32PinMask) ((gpio)->PUEN |= u32PinMask)
| Enable Pin Pull-up resistor Function. 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...

## 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)->ISRC = u32PinMask)

Clear GPIO Pin Interrupt Flag.

Parameters

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

Returns
  None

Clear the interrupt status of specified GPIO pin.

Definition at line 205 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, PC, PD, PE or PF
  [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 217 of file gpio.h.

## ◆ GPIO_DISABLE_DIGITAL_PATH

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

Disable I/O Digital Input Path.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, PC, PD, PE or PF
  [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 241 of file gpio.h.

## ◆ GPIO_DISABLE_DOUT_MASK

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

Disable I/O DOUT mask.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, PC, PD, PE or PF
  [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 265 of file gpio.h.

## ◆ GPIO_DISABLE_PULL_UP

#define GPIO_DISABLE_PULL_UP | ( |  | gpio,
|  |  | u32PinMask
| ) |  | ((gpio)->PUEN &= ~u32PinMask)

Disable Pin Pull-up resistor Function.

Parameters

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

Returns
  None

Disable the Pull-up resistor function of specified GPIO pin.

Definition at line 345 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, PC, PD, PE or PF
  [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 395 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, PC, PD, PE or PF
  [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 423 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, PC, PD, PE or PF
  [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 229 of file gpio.h.

## ◆ GPIO_ENABLE_DIGITAL_PATH

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

Enable I/O Digital Input Path.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, PC, PD, PE or PF
  [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 253 of file gpio.h.

## ◆ GPIO_ENABLE_DOUT_MASK

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

Enable I/O DOUT mask.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, PC, PD, PE or PF
  [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 277 of file gpio.h.

## ◆ GPIO_ENABLE_PULL_UP

#define GPIO_ENABLE_PULL_UP | ( |  | gpio,
|  |  | u32PinMask
| ) |  | ((gpio)->PUEN |= u32PinMask)

Enable Pin Pull-up resistor Function.

Parameters

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

Returns
  None

Enable the Pull-up resistor function of specified GPIO pin.

Definition at line 357 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, PC, PD, PE or PF
  [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 382 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, PC, PD, PE or PF
  [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 410 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, PC, PD, PE or PF

Return values

  The | specified port data

Get the PIN register of specified GPIO port.

Definition at line 321 of file gpio.h.

## ◆ GPIO_GET_INT_FLAG

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

Get GPIO Pin Interrupt Flag.

Parameters

  [in] | gpio | GPIO port. It could be PA, PB, PC, PD, PE or PF
  [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 290 of file gpio.h.

## ◆ GPIO_SET_DEBOUNCE_TIME

#define GPIO_SET_DEBOUNCE_TIME | ( |  | u32ClkSrc,
|  |  | u32ClkSel
| ) |  | (GPIO->DBNCECON = (GP_DBNCECON_DBCLK_ON_Msk | u32ClkSrc | u32ClkSel))

Set De-bounce Sampling Cycle Time.

Parameters

  [in] | u32ClkSrc | The de-bounce counter clock source. It could be GPIO_DBCLKSRC_HCLK or GPIO_DBCLKSRC_IRC10K
  [in] | u32ClkSel | The de-bounce sampling cycle selection. It could be GPIO_DBCLKSEL_1, GPIO_DBCLKSEL_2, GPIO_DBCLKSEL_4, GPIO_DBCLKSEL_8, GPIO_DBCLKSEL_16, GPIO_DBCLKSEL_32, GPIO_DBCLKSEL_64, GPIO_DBCLKSEL_128, GPIO_DBCLKSEL_256, GPIO_DBCLKSEL_512, GPIO_DBCLKSEL_1024, GPIO_DBCLKSEL_2048, GPIO_DBCLKSEL_4096, GPIO_DBCLKSEL_8192, GPIO_DBCLKSEL_16384, GPIO_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_DBCLKSRC_IRC10K, GPIO_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 310 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, PC, PD, PE or PF
  [in] | u32Data | GPIO port data

Return values

  None |

Set the Data into specified GPIO port.

Definition at line 333 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 368 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, PC, PD, PE or PF
  [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 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, PC, PD, PE or PF
  [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.

Here is the caller graph for this function:

## ◆ 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, PC, PD, PE or PF
  [in] | u32PinMask | The single or multiple pins of specified GPIO port.
  [in] | u32Mode | Operation mode. GPIO_PMD_INPUT, GPIO_PMD_OUTPUT, GPIO_PMD_OPEN_DRAIN

Returns
  None

This function is used to set specified GPIO operation mode.

Definition at line 40 of file gpio.c.

Here is the caller graph for this function: