31#ifndef STM32F401RE_GPIO_DRIVER_H_
32#define STM32F401RE_GPIO_DRIVER_H_
38#define GPIO_NAME_LEN 5
Common utility module public API.
PIN_STATUS_te
Represents the logical level of a GPIO pin.
PIN_STATUS_te gpio_read(GPIO_REGDEF_ts const *gpio_port, uint8_t gpio_pin)
Reads the current logic level of a GPIO input pin.
void gpio_write(GPIO_REGDEF_ts *gpio_port, uint8_t gpio_pin, PIN_STATUS_te pin_status)
Drives a GPIO output pin high or low.
void gpio_deinit(GPIO_REGDEF_ts const *gpio_port)
Deinitializes a GPIO port by resetting its registers to reset values.
void gpio_get_name(GPIO_REGDEF_ts const *gpio_port, char *name)
Returns the name string of a GPIO port (e.g. "GPIOA").
void gpio_init(GPIO_CFG_ts *gpio_cfg)
Initializes a GPIO pin according to the given configuration.
void gpio_clear_interrupt(EXTI_LINES_te exti_line)
Clears the EXTI pending flag for the given interrupt line.
GPIO_INTERRUPT_TRIGGER_te
EXTI edge trigger selection for interrupt mode.
GPIO_OUTPUT_TYPE_te
GPIO output driver type.
GPIO_PIN_te
GPIO pin number within a port (0–15).
GPIO_ALTERNATE_FUNCTION_te
GPIO alternate function mapping (AF0–AF15).
GPIO_MODE_te
GPIO pin operating mode.
GPIO_PULL_MODE_te
GPIO internal pull-up / pull-down resistor configuration.
GPIO_OUTPUT_SPEED_te
GPIO output slew rate / speed.
@ GPIO_INTERRUPT_TRIGGER_RE
@ GPIO_INTERRUPT_TRIGGER_RFE
@ GPIO_INTERRUPT_TRIGGER_FE
@ GPIO_OUTPUT_TYPE_PUSHPULL
@ GPIO_OUTPUT_TYPE_OPENDRAIN
@ GPIO_ALTERNATE_FUNCTION_AF7
@ GPIO_ALTERNATE_FUNCTION_AF14
@ GPIO_ALTERNATE_FUNCTION_AF11
@ GPIO_ALTERNATE_FUNCTION_AF15
@ GPIO_ALTERNATE_FUNCTION_AF4
@ GPIO_ALTERNATE_FUNCTION_AF12
@ GPIO_ALTERNATE_FUNCTION_AF10
@ GPIO_ALTERNATE_FUNCTION_AF2
@ GPIO_ALTERNATE_FUNCTION_AF3
@ GPIO_ALTERNATE_FUNCTION_AF9
@ GPIO_ALTERNATE_FUNCTION_AF13
@ GPIO_ALTERNATE_FUNCTION_AF8
@ GPIO_ALTERNATE_FUNCTION_AF5
@ GPIO_ALTERNATE_FUNCTION_AF0
@ GPIO_ALTERNATE_FUNCTION_AF1
@ GPIO_ALTERNATE_FUNCTION_AF6
@ GPIO_MODE_ALTERNATE_FUNCTION
@ GPIO_OUTPUT_SPEED_VERYHIGH
@ GPIO_OUTPUT_SPEED_MEDIUM
EXTI_LINES_te
EXTI line numbers.
STM32F401RE MCU-specific peripheral register definitions and bit position enumerations.
Configuration structure for initializing a GPIO pin.
GPIO_PULL_MODE_te pull_mode
GPIO_ALTERNATE_FUNCTION_te alternate_function
GPIO_INTERRUPT_TRIGGER_te interrupt_trigger
GPIO_OUTPUT_TYPE_te output_type
GPIO_OUTPUT_SPEED_te output_speed
GPIO peripheral register map.