MG32L003 Standard Peripherals Firmware Library
Modules | Macros | Functions

GPIO driver modules. More...

Modules

 GPIO_Exported_Constants
 
 GPIO_Private_Functions
 

Macros

#define IS_GPIO_ALL_PERIPH(PERIPH)
 
#define IS_GET_GPIO_PIN(PIN)
 
#define IS_GPIO_PIN(PIN)   (((PIN) & 0x000000FF) != (uint32_t)0x00)
 
#define IS_GPIO_BIT_ACTION(ACTION)   (((ACTION) == Bit_RESET) || ((ACTION) == Bit_SET))
 

Functions

void GPIO_DeInit (GPIO_TypeDef *GPIOx)
 De-initializes the GPIOx peripheral registers to their default reset values. More...
 
void GPIO_Init (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, uint32_t PinConfig)
 Initializes the GPIOx peripheral according to the PinConfig. More...
 
void GPIO_SetAFPin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, uint32_t Alternate)
 Configure gpio alternate function of any pins for a dedicated port. More...
 
uint8_t GPIO_ReadInputDataBit (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Reads the specified input port pin. More...
 
uint16_t GPIO_ReadInputData (GPIO_TypeDef *GPIOx)
 Reads the specified GPIO input data port. More...
 
uint8_t GPIO_ReadOutputDataBit (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Reads the specified output data port bit. More...
 
uint16_t GPIO_ReadOutputData (GPIO_TypeDef *GPIOx)
 Reads the specified GPIO output data port. More...
 
void GPIO_SetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Sets the selected data port bits. More...
 
void GPIO_ResetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Clears the selected data port bits. More...
 
void GPIO_WriteBit (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, BitAction BitVal)
 Sets or clears the selected data port bit. More...
 
void GPIO_Write (GPIO_TypeDef *GPIOx, uint16_t PortVal)
 Writes data to the specified GPIO data port. More...
 
void GPIO_ToggleBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Toggle data value for several pin of specified port. More...
 
void GPIO_DriveCurrentConfig (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, uint32_t Current)
 Configure the drive current of several pins for a specified port. More...
 
void GPIO_EXTIConfig (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, uint32_t EXTI_Config)
 Handles the configuration of GPIO_Pin's EXTI. More...
 
void GPIO_DebounceConfig (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, uint32_t DebounceConfig)
 Handles the configuration of GPIO debounce. More...
 
FlagStatus GPIO_EXTI_GetFlagStatus (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Checks whether the specified GPIO_Pin's EXTI line flag is set or not. More...
 
void GPIO_EXTI_ClearFlag (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Clears the GPIO_Pin's EXTI line pending flags. More...
 
ITStatus GPIO_EXTI_GetIT (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Checks that the interrupt of the EXTI line for the specified GPIO Pin is enabled. More...
 
void GPIO_EXTI_ClearIT (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Clears the GPIO_Pin's EXTI line pending bits. More...
 

Detailed Description

GPIO driver modules.

Macro Definition Documentation

◆ IS_GET_GPIO_PIN

#define IS_GET_GPIO_PIN (   PIN)
Value:
(((PIN) == GPIO_Pin_0) || \
((PIN) == GPIO_Pin_1) || \
((PIN) == GPIO_Pin_2) || \
((PIN) == GPIO_Pin_3) || \
((PIN) == GPIO_Pin_4) || \
((PIN) == GPIO_Pin_5) || \
((PIN) == GPIO_Pin_6) || \
((PIN) == GPIO_Pin_7))
#define GPIO_Pin_2
Definition: mg32l003_gpio.h:56
#define GPIO_Pin_0
Definition: mg32l003_gpio.h:54
#define GPIO_Pin_4
Definition: mg32l003_gpio.h:58
#define GPIO_Pin_1
Definition: mg32l003_gpio.h:55
#define GPIO_Pin_7
Definition: mg32l003_gpio.h:61
#define GPIO_Pin_5
Definition: mg32l003_gpio.h:59
#define GPIO_Pin_6
Definition: mg32l003_gpio.h:60
#define GPIO_Pin_3
Definition: mg32l003_gpio.h:57

◆ IS_GPIO_ALL_PERIPH

#define IS_GPIO_ALL_PERIPH (   PERIPH)
Value:
(((PERIPH) == GPIOA) || \
((PERIPH) == GPIOB) || \
((PERIPH) == GPIOC) || \
((PERIPH) == GPIOD))

Function Documentation

◆ GPIO_DebounceConfig()

void GPIO_DebounceConfig ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin,
uint32_t  DebounceConfig 
)

Handles the configuration of GPIO debounce.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the pins to be configured. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
DebounceConfigThe port bit configuration. This parameter must be a combination of one GPIO_DB_x flags.
Return values
None

◆ GPIO_DeInit()

void GPIO_DeInit ( GPIO_TypeDef GPIOx)

De-initializes the GPIOx peripheral registers to their default reset values.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
Return values
None

◆ GPIO_DriveCurrentConfig()

void GPIO_DriveCurrentConfig ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin,
uint32_t  Current 
)

Configure the drive current of several pins for a specified port.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the pins to be configured. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
CurrentSpecifies the drive current. This parameter can be one of the following values:
  • GPIO_DRV_HIGH: High driving strength.
  • GPIO_DRV_LOW: Low driving strength
Return values
None

◆ GPIO_EXTI_ClearFlag()

void GPIO_EXTI_ClearFlag ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin 
)

Clears the GPIO_Pin's EXTI line pending flags.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the pins flags to clear. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
Return values
None

◆ GPIO_EXTI_ClearIT()

void GPIO_EXTI_ClearIT ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin 
)

Clears the GPIO_Pin's EXTI line pending bits.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the GPIO_Pin's EXTI lines to clear. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
Return values
None

◆ GPIO_EXTI_GetFlagStatus()

FlagStatus GPIO_EXTI_GetFlagStatus ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin 
)

Checks whether the specified GPIO_Pin's EXTI line flag is set or not.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_Pinspecifies the pins flag to check. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
Return values
Thenew state of GPIO_Pin's EXTI line (SET or RESET).

◆ GPIO_EXTI_GetIT()

ITStatus GPIO_EXTI_GetIT ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin 
)

Checks that the interrupt of the EXTI line for the specified GPIO Pin is enabled.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the pins to check. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
Return values
Thenew state of interrupt enabled for the GPIO_Pin's EXTI line (SET or RESET).

◆ GPIO_EXTIConfig()

void GPIO_EXTIConfig ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin,
uint32_t  EXTI_Config 
)

Handles the configuration of GPIO_Pin's EXTI.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the pins to be configured. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
EXTI_ConfigThe port bit configuration. This parameter must be a combination of one GPIO_EXTI_define GPIO_EXTI_x flags.
Return values
None

◆ GPIO_Init()

void GPIO_Init ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin,
uint32_t  PinConfig 
)

Initializes the GPIOx peripheral according to the PinConfig.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the port bit to be initialized. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
PinConfigThe port bit configuration. This parameter must be a combination of one GPIO_MODE_x flag, one GPIO_OTYPE_x flag, one GPIO_PUPD_x flag, one GPIO_DRV_x flag, one GPIO_SPEED_x flag and one GPIO_AFx flag.
Return values
None

◆ GPIO_ReadInputData()

uint16_t GPIO_ReadInputData ( GPIO_TypeDef GPIOx)

Reads the specified GPIO input data port.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
Return values
GPIOinput data port value.

◆ GPIO_ReadInputDataBit()

uint8_t GPIO_ReadInputDataBit ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin 
)

Reads the specified input port pin.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the port bit to read. This parameter can be GPIO_Pin_x where x can be (0..7).
Return values
Theinput port pin value.

◆ GPIO_ReadOutputData()

uint16_t GPIO_ReadOutputData ( GPIO_TypeDef GPIOx)

Reads the specified GPIO output data port.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
Return values
GPIOoutput data port value.

◆ GPIO_ReadOutputDataBit()

uint8_t GPIO_ReadOutputDataBit ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin 
)

Reads the specified output data port bit.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the port bit to read. This parameter can be GPIO_Pin_x where x can be (0..7).
Return values
Theoutput port pin value.

◆ GPIO_ResetBits()

void GPIO_ResetBits ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin 
)

Clears the selected data port bits.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the port bits to be written. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
Return values
None

◆ GPIO_SetAFPin()

void GPIO_SetAFPin ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin,
uint32_t  Alternate 
)

Configure gpio alternate function of any pins for a dedicated port.

Note
Possible values are from AF0 to AF15 depending on target.
Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the port bits to configure. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
AlternateThis parameter can be GPIO_AFx where x can be (0..15).
Return values
None

◆ GPIO_SetBits()

void GPIO_SetBits ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin 
)

Sets the selected data port bits.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the port bits to be written. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
Return values
None

◆ GPIO_ToggleBits()

void GPIO_ToggleBits ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin 
)

Toggle data value for several pin of specified port.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the pins to be toggled. This parameter can be any combination of GPIO_Pin_x where x can be (0..7).
Return values
None

◆ GPIO_Write()

void GPIO_Write ( GPIO_TypeDef GPIOx,
uint16_t  PortVal 
)

Writes data to the specified GPIO data port.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
PortValSpecifies the value to be written to the port output data register.
Return values
None

◆ GPIO_WriteBit()

void GPIO_WriteBit ( GPIO_TypeDef GPIOx,
uint16_t  GPIO_Pin,
BitAction  BitVal 
)

Sets or clears the selected data port bit.

Parameters
GPIOxWhere x can be (A..D) to select the GPIO peripheral.
GPIO_PinSpecifies the port bit to be written. This parameter can be one of GPIO_Pin_x where x can be (0..7).
BitValSpecifies the value to be written to the selected bit. This parameter can be one of the BitAction enum values:
  • Bit_RESET: to clear the port pin
  • Bit_SET: to set the port pin
Return values
None