GPS Device
Loading...
Searching...
No Matches
stm32f401re_gpio.h
Go to the documentation of this file.
1
24
30
31#ifndef STM32F401RE_GPIO_DRIVER_H_
32#define STM32F401RE_GPIO_DRIVER_H_
33
34#include "common.h"
35#include "stm32f401re.h"
36
38#define GPIO_NAME_LEN 5
39
46
68
86
94
108
117
144
156
193
195
202
214void gpio_init(GPIO_CFG_ts *gpio_cfg);
215
225void gpio_deinit(GPIO_REGDEF_ts const *gpio_port);
226
234void gpio_write(GPIO_REGDEF_ts *gpio_port, uint8_t gpio_pin, PIN_STATUS_te pin_status);
235
244PIN_STATUS_te gpio_read(GPIO_REGDEF_ts const *gpio_port, uint8_t gpio_pin);
245
256void gpio_clear_interrupt(EXTI_LINES_te exti_line);
257
269void gpio_get_name(GPIO_REGDEF_ts const *gpio_port, char *name);
270
272
273#endif
274
Common utility module public API.
PIN_STATUS_te
Represents the logical level of a GPIO pin.
Definition common.h:84
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_PIN_0
@ GPIO_PIN_1
@ GPIO_PIN_6
@ GPIO_PIN_5
@ GPIO_PIN_3
@ GPIO_PIN_11
@ GPIO_PIN_8
@ GPIO_PIN_12
@ GPIO_PIN_7
@ GPIO_PIN_10
@ GPIO_PIN_9
@ GPIO_PIN_15
@ GPIO_PIN_4
@ GPIO_PIN_13
@ GPIO_PIN_14
@ GPIO_PIN_2
@ 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_INTERRUPT
@ GPIO_MODE_ANALOG
@ GPIO_MODE_INPUT
@ GPIO_MODE_ALTERNATE_FUNCTION
@ GPIO_MODE_OUTPUT
@ GPIO_PULL_MODE_PD
@ GPIO_PULL_MODE_PU
@ GPIO_PULL_MODE_NOPUPD
@ GPIO_OUTPUT_SPEED_VERYHIGH
@ GPIO_OUTPUT_SPEED_MEDIUM
@ GPIO_OUTPUT_SPEED_LOW
@ GPIO_OUTPUT_SPEED_HIGH
EXTI_LINES_te
EXTI line numbers.
STM32F401RE MCU-specific peripheral register definitions and bit position enumerations.
Configuration structure for initializing a GPIO pin.
GPIO_REGDEF_ts * port
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_PIN_te pin
GPIO_OUTPUT_SPEED_te output_speed
GPIO_MODE_te mode
GPIO peripheral register map.
Definition stm32f401re.h:95