M471M/R1/S BSP V3.01.000
The Board Support Package for M4521
Macros | Functions
Collaboration diagram for GPIO Exported Functions:

Macros

#define GPIO_CLR_INT_FLAG(port, u32PinMask)   ((port)->INTSRC = (u32PinMask))
 Clear GPIO Pin Interrupt Flag. More...
 
#define GPIO_DISABLE_DEBOUNCE(port, u32PinMask)   ((port)->DBEN &= ~(u32PinMask))
 Disable Pin De-bounce Function. More...
 
#define GPIO_ENABLE_DEBOUNCE(port, u32PinMask)   ((port)->DBEN |= (u32PinMask))
 Enable Pin De-bounce Function. More...
 
#define GPIO_DISABLE_DIGITAL_PATH(port, u32PinMask)   ((port)->DINOFF |= ((u32PinMask)<<16))
 Disable I/O Digital Input Path. More...
 
#define GPIO_ENABLE_DIGITAL_PATH(port, u32PinMask)   ((port)->DINOFF &= ~((u32PinMask)<<16))
 Enable I/O Digital Input Path. More...
 
#define GPIO_DISABLE_DOUT_MASK(port, u32PinMask)   ((port)->DATMSK &= ~(u32PinMask))
 Disable I/O DOUT mask. More...
 
#define GPIO_ENABLE_DOUT_MASK(port, u32PinMask)   ((port)->DATMSK |= (u32PinMask))
 Enable I/O DOUT mask. More...
 
#define GPIO_GET_INT_FLAG(port, u32PinMask)   ((port)->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(port)   ((port)->PIN)
 Get GPIO Port IN Data. More...
 
#define GPIO_SET_OUT_DATA(port, u32Data)   ((port)->DOUT = (u32Data))
 Set GPIO Port OUT Data. More...
 
#define GPIO_TOGGLE(u32Pin)   ((u32Pin) ^= 1)
 Toggle Specified GPIO pin. More...
 
#define GPIO_EnableEINT   GPIO_EnableInt
 Enable External GPIO interrupt. More...
 
#define GPIO_DisableEINT   GPIO_DisableInt
 Disable External GPIO interrupt. More...
 

Functions

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

Detailed Description

Macro Definition Documentation

◆ GPIO_CLR_INT_FLAG

#define GPIO_CLR_INT_FLAG (   port,
  u32PinMask 
)    ((port)->INTSRC = (u32PinMask))

Clear GPIO Pin Interrupt Flag.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinMaskThe single or multiple pins of specified GPIO port. It could be BIT0 ~ BIT15 for PA, PB, PC and PD. It could be BIT0 ~ BIT14 for PE. It could be BIT0 ~ BIT7 for PF.
Returns
None

Clear the interrupt status of specified GPIO pin.

Definition at line 173 of file gpio.h.

◆ GPIO_DISABLE_DEBOUNCE

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

Disable Pin De-bounce Function.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinMaskThe single or multiple pins of specified GPIO port. It could be BIT0 ~ BIT15 for PA, PB, PC and PD. It could be BIT0 ~ BIT14 for PE. It could be BIT0 ~ BIT7 for PF.
Returns
None

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

Definition at line 188 of file gpio.h.

◆ GPIO_DISABLE_DIGITAL_PATH

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

Disable I/O Digital Input Path.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinMaskThe single or multiple pins of specified GPIO port. It could be BIT0 ~ BIT15 for PA, PB, PC and PD. It could be BIT0 ~ BIT14 for PE. It could be BIT0 ~ BIT7 for PF.
Returns
None

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

Definition at line 217 of file gpio.h.

◆ GPIO_DISABLE_DOUT_MASK

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

Disable I/O DOUT mask.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinMaskThe single or multiple pins of specified GPIO port. It could be BIT0 ~ BIT15 for PA, PB, PC and PD. It could be BIT0 ~ BIT14 for PE. It could be BIT0 ~ BIT7 for PF.
Returns
None

Disable I/O DOUT mask of specified GPIO pin.

Definition at line 247 of file gpio.h.

◆ GPIO_DisableEINT

#define GPIO_DisableEINT   GPIO_DisableInt

Disable External GPIO interrupt.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinThe pin of specified GPIO port. It could be 0 ~ 15 for PA, PB, PC and PD GPIO port. It could be 0 ~ 14 for PE GPIO port. It could be 0 ~ 7 for PF GPIO port.
Returns
None

This function is used to enable specified GPIO pin interrupt.

Definition at line 377 of file gpio.h.

◆ GPIO_ENABLE_DEBOUNCE

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

Enable Pin De-bounce Function.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinMaskThe single or multiple pins of specified GPIO port. It could be BIT0 ~ BIT15 for PA, PB, PC and PD. It could be BIT0 ~ BIT14 for PE. It could be BIT0 ~ BIT7 for PF.
Returns
None

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

Definition at line 202 of file gpio.h.

◆ GPIO_ENABLE_DIGITAL_PATH

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

Enable I/O Digital Input Path.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinMaskThe single or multiple pins of specified GPIO port. It could be BIT0 ~ BIT15 for PA, PB, PC and PD. It could be BIT0 ~ BIT14 for PE. It could be BIT0 ~ BIT7 for PF.
Returns
None

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

Definition at line 232 of file gpio.h.

◆ GPIO_ENABLE_DOUT_MASK

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

Enable I/O DOUT mask.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinMaskThe single or multiple pins of specified GPIO port. It could be BIT0 ~ BIT15 for PA, PB, PC and PD. It could be BIT0 ~ BIT14 for PE. It could be BIT0 ~ BIT7 for PF.
Returns
None

Enable I/O DOUT mask of specified GPIO pin.

Definition at line 262 of file gpio.h.

◆ GPIO_EnableEINT

#define GPIO_EnableEINT   GPIO_EnableInt

Enable External GPIO interrupt.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinThe pin of specified GPIO port. It could be 0 ~ 15 for PA, PB, PC and PD GPIO port. It could be 0 ~ 14 for PE GPIO port. It could be 0 ~ 7 for PF 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 362 of file gpio.h.

◆ GPIO_GET_IN_DATA

#define GPIO_GET_IN_DATA (   port)    ((port)->PIN)

Get GPIO Port IN Data.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
Returns
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 (   port,
  u32PinMask 
)    ((port)->INTSRC & (u32PinMask))

Get GPIO Pin Interrupt Flag.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinMaskThe single or multiple pins of specified GPIO port. It could be BIT0 ~ BIT15 for PA, PB, PC and PD. It could be BIT0 ~ BIT14 for PE. It could be BIT0 ~ BIT7 for PF.
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 278 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_LIRC.
[in]u32ClkSelThe de-bounce sampling cycle selection. It could be
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_LIRC, 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 (4)*(1/(10*1000)) s = 4*0.0001 s = 400 us, and system will sampling interrupt input once per 00 us.

Definition at line 310 of file gpio.h.

◆ GPIO_SET_OUT_DATA

#define GPIO_SET_OUT_DATA (   port,
  u32Data 
)    ((port)->DOUT = (u32Data))

Set GPIO Port OUT Data.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32DataGPIO port data.
Returns
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
Returns
None

Toggle the specified GPIO pint.

Definition at line 344 of file gpio.h.

Function Documentation

◆ GPIO_DisableInt()

void GPIO_DisableInt ( GPIO_T port,
uint32_t  u32Pin 
)

Disable GPIO interrupt.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinThe pin of specified GPIO port. It could be 0 ~ 15 for PA, PB, PC and PD GPIO port. It could be 0 ~ 14 for PE GPIO port. It could be 0 ~ 7 for PF GPIO port.
Returns
None

This function is used to enable specified GPIO pin interrupt.

Definition at line 86 of file gpio.c.

◆ GPIO_EnableInt()

void GPIO_EnableInt ( GPIO_T port,
uint32_t  u32Pin,
uint32_t  u32IntAttribs 
)

Enable GPIO interrupt.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinThe pin of specified GPIO port. It could be 0 ~ 15 for PA, PB, PC and PD GPIO port. It could be 0 ~ 14 for PE GPIO port. It could be 0 ~ 7 for PF 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 66 of file gpio.c.

◆ GPIO_SetMode()

void GPIO_SetMode ( GPIO_T port,
uint32_t  u32PinMask,
uint32_t  u32Mode 
)

Set GPIO operation mode.

Parameters
[in]portGPIO port. It could be PA, PB, PC, PD, PE or PF.
[in]u32PinMaskThe single or multiple pins of specified GPIO port. It could be BIT0 ~ BIT15 for PA, PB, PC and PD GPIO port. It could be BIT0 ~ BIT14 for PE GPIO port. It could be BIT0 ~ BIT7 for PF GPIO port.
[in]u32ModeOperation mode. It could be
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 38 of file gpio.c.