NUC472_NUC442_BSP V3.03.005
The Board Support Package for NUC472/NUC442
Macros | Functions
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]gpioGPIO port. It could be PA, PB, ... or GPI
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, ... or GPI
[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 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]gpioGPIO port. It could be PA, PB, ... or GPI
[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 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]gpioGPIO port. It could be PA, PB, ... or GPI
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, ... or GPI
[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 489 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, ... or GPI
[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 434 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, ... or GPI
[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 462 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, ... or GPI
[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 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]gpioGPIO port. It could be PA, PB, ... or GPI
[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 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]gpioGPIO port. It could be PA, PB, ... or GPI
[in]u32PinMaskThe 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]gpioGPIO port. It could be PA, PB, ... or GPI
[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 476 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, ... or GPI
[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 421 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, ... or GPI
[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 449 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, ... or GPI
Return values
Thespecified 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]gpioGPIO port. It could be PA, PB, ... or GPI
[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 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]u32ClkSrcThe de-bounce counter clock source. It could be GPIO_DBCTL_DBCLKSRC_HCLK or GPIO_DBCTL_DBCLKSRC_IRC10K.
[in]u32ClkSelThe 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]gpioGPIO port. It could be PA, PB, ... or GPI
[in]u32DataGPIO 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]u32PinPxy
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]gpioGPIO port. It could be PA, PB, ... or GPI
[in]u32PinThe 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]gpioGPIO port. It could be PA, PB, ... or GPI
[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.

◆ 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, ... or GPI
[in]u32PinMaskThe single or multiple pins of specified GPIO port.
[in]u32ModeOperation 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.