GPIO Read, Write, Toggle, Lock and EXTI management functions.
More...
GPIO Read, Write, Toggle, Lock and EXTI management functions.
===============================================================================
##### IO operation functions #####
===============================================================================
◆ HAL_GPIO_EXTI_Callback()
| __weak void HAL_GPIO_EXTI_Callback |
( |
uint16_t |
GPIO_Pin | ) |
|
EXTI line detection callback.
- Parameters
-
| GPIO_Pin | Specifies the port pin connected to corresponding EXTI line. |
- Return values
-
Definition at line 529 of file stm32l4xx_hal_gpio.c.
◆ HAL_GPIO_EXTI_IRQHandler()
| void HAL_GPIO_EXTI_IRQHandler |
( |
uint16_t |
GPIO_Pin | ) |
|
Handle EXTI interrupt request.
- Parameters
-
| GPIO_Pin | Specifies the port pin connected to corresponding EXTI line. |
- Return values
-
Definition at line 514 of file stm32l4xx_hal_gpio.c.
517 if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u)
519 __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
EXTI line detection callback.
◆ HAL_GPIO_LockPin()
| HAL_StatusTypeDef HAL_GPIO_LockPin |
( |
GPIO_TypeDef * |
GPIOx, |
|
|
uint16_t |
GPIO_Pin |
|
) |
| |
Lock GPIO Pins configuration registers.
- Note
- The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
-
The configuration of the locked GPIO pins can no longer be modified until the next reset.
- Parameters
-
| GPIOx | where x can be (A..H) to select the GPIO peripheral for STM32L4 family |
| GPIO_Pin | specifies the port bits to be locked. This parameter can be any combination of GPIO_Pin_x where x can be (0..15). |
- Return values
-
Definition at line 479 of file stm32l4xx_hal_gpio.c.
481 __IO uint32_t tmp = GPIO_LCKR_LCKK;
492 GPIOx->LCKR = GPIO_Pin;
499 if ((GPIOx->LCKR & GPIO_LCKR_LCKK) != 0x00u)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
◆ HAL_GPIO_ReadPin()
| GPIO_PinState HAL_GPIO_ReadPin |
( |
GPIO_TypeDef * |
GPIOx, |
|
|
uint16_t |
GPIO_Pin |
|
) |
| |
Read the specified input port pin.
- Parameters
-
| GPIOx | where x can be (A..H) to select the GPIO peripheral for STM32L4 family |
| GPIO_Pin | specifies the port bit to read. This parameter can be any combination of GPIO_Pin_x where x can be (0..15). |
- Return values
-
Definition at line 397 of file stm32l4xx_hal_gpio.c.
404 if ((GPIOx->IDR & GPIO_Pin) != 0x00u)
GPIO_PinState
GPIO Bit SET and Bit RESET enumeration.
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
◆ HAL_GPIO_TogglePin()
| void HAL_GPIO_TogglePin |
( |
GPIO_TypeDef * |
GPIOx, |
|
|
uint16_t |
GPIO_Pin |
|
) |
| |
Toggle the specified GPIO pin.
- Parameters
-
| GPIOx | where x can be (A..H) to select the GPIO peripheral for STM32L4 family |
| GPIO_Pin | specifies the pin to be toggled. |
- Return values
-
Definition at line 453 of file stm32l4xx_hal_gpio.c.
458 if ((GPIOx->ODR & GPIO_Pin) != 0x00u)
460 GPIOx->BRR = (uint32_t)GPIO_Pin;
464 GPIOx->BSRR = (uint32_t)GPIO_Pin;
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
◆ HAL_GPIO_WritePin()
| void HAL_GPIO_WritePin |
( |
GPIO_TypeDef * |
GPIOx, |
|
|
uint16_t |
GPIO_Pin, |
|
|
GPIO_PinState |
PinState |
|
) |
| |
Set or clear the selected data port bit.
- Note
- This function uses GPIOx_BSRR and GPIOx_BRR registers to allow atomic read/modify accesses. In this way, there is no risk of an IRQ occurring between the read and the modify access.
- Parameters
-
| GPIOx | where x can be (A..H) to select the GPIO peripheral for STM32L4 family |
| GPIO_Pin | specifies the port bit to be written. This parameter can be any combination of GPIO_Pin_x where x can be (0..15). |
| PinState | specifies the value to be written to the selected bit. This parameter can be one of the GPIO_PinState enum values:
- GPIO_PIN_RESET: to clear the port pin
- GPIO_PIN_SET: to set the port pin
|
- Return values
-
Definition at line 431 of file stm32l4xx_hal_gpio.c.
439 GPIOx->BSRR = (uint32_t)GPIO_Pin;
443 GPIOx->BRR = (uint32_t)GPIO_Pin;
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))