NANO100_BSP V3.04.002
The Board Support Package for Nano100BN Series
Macros | Functions
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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinThe pin of specified GPIO port
[in]u32IntAttribsThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinThe pin of specified GPIO port
[in]u32IntAttribsThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
Return values
Thespecified 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe single or multiple pins of specified GPIO port
Return values
0No interrupt at specified GPIO pin
1The 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]u32ClkSrcThe de-bounce counter clock source. It could be GPIO_DBCLKSRC_HCLK or GPIO_DBCLKSRC_IRC10K
[in]u32ClkSelThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32DataGPIO 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]u32PinPxy
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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinThe pin of specified GPIO port. It could be 0 ~ 15
[in]u32IntAttribsThe 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]gpioGPIO port. It could be PA, PB, PC, PD, PE or PF
[in]u32PinMaskThe single or multiple pins of specified GPIO port.
[in]u32ModeOperation 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: