GPS Device
Loading...
Searching...
No Matches

Configuration enumerations and structures for the GPIO driver. More...

Collaboration diagram for GPIO Types:

Classes

struct  GPIO_CFG_ts
 Configuration structure for initializing a GPIO pin. More...

Enumerations

enum  GPIO_PIN_te {
  GPIO_PIN_0 , GPIO_PIN_1 , GPIO_PIN_2 , GPIO_PIN_3 ,
  GPIO_PIN_4 , GPIO_PIN_5 , GPIO_PIN_6 , GPIO_PIN_7 ,
  GPIO_PIN_8 , GPIO_PIN_9 , GPIO_PIN_10 , GPIO_PIN_11 ,
  GPIO_PIN_12 , GPIO_PIN_13 , GPIO_PIN_14 , GPIO_PIN_15
}
 GPIO pin number within a port (0–15). More...
enum  GPIO_MODE_te {
  GPIO_MODE_INPUT , GPIO_MODE_OUTPUT , GPIO_MODE_ALTERNATE_FUNCTION , GPIO_MODE_ANALOG ,
  GPIO_MODE_INTERRUPT
}
 GPIO pin operating mode. More...
enum  GPIO_OUTPUT_TYPE_te { GPIO_OUTPUT_TYPE_PUSHPULL , GPIO_OUTPUT_TYPE_OPENDRAIN }
 GPIO output driver type. More...
enum  GPIO_OUTPUT_SPEED_te { GPIO_OUTPUT_SPEED_LOW , GPIO_OUTPUT_SPEED_MEDIUM , GPIO_OUTPUT_SPEED_HIGH , GPIO_OUTPUT_SPEED_VERYHIGH }
 GPIO output slew rate / speed. More...
enum  GPIO_PULL_MODE_te { GPIO_PULL_MODE_NOPUPD , GPIO_PULL_MODE_PU , GPIO_PULL_MODE_PD }
 GPIO internal pull-up / pull-down resistor configuration. More...
enum  GPIO_ALTERNATE_FUNCTION_te {
  GPIO_ALTERNATE_FUNCTION_AF0 , GPIO_ALTERNATE_FUNCTION_AF1 , GPIO_ALTERNATE_FUNCTION_AF2 , GPIO_ALTERNATE_FUNCTION_AF3 ,
  GPIO_ALTERNATE_FUNCTION_AF4 , GPIO_ALTERNATE_FUNCTION_AF5 , GPIO_ALTERNATE_FUNCTION_AF6 , GPIO_ALTERNATE_FUNCTION_AF7 ,
  GPIO_ALTERNATE_FUNCTION_AF8 , GPIO_ALTERNATE_FUNCTION_AF9 , GPIO_ALTERNATE_FUNCTION_AF10 , GPIO_ALTERNATE_FUNCTION_AF11 ,
  GPIO_ALTERNATE_FUNCTION_AF12 , GPIO_ALTERNATE_FUNCTION_AF13 , GPIO_ALTERNATE_FUNCTION_AF14 , GPIO_ALTERNATE_FUNCTION_AF15
}
 GPIO alternate function mapping (AF0–AF15). More...
enum  GPIO_INTERRUPT_TRIGGER_te { GPIO_INTERRUPT_TRIGGER_RE , GPIO_INTERRUPT_TRIGGER_FE , GPIO_INTERRUPT_TRIGGER_RFE }
 EXTI edge trigger selection for interrupt mode. More...

Detailed Description

Configuration enumerations and structures for the GPIO driver.

Enumeration Type Documentation

◆ GPIO_PIN_te

GPIO pin number within a port (0–15).

Enumerator
GPIO_PIN_0 

Pin 0.

GPIO_PIN_1 

Pin 1.

GPIO_PIN_2 

Pin 2.

GPIO_PIN_3 

Pin 3.

GPIO_PIN_4 

Pin 4.

GPIO_PIN_5 

Pin 5.

GPIO_PIN_6 

Pin 6.

GPIO_PIN_7 

Pin 7.

GPIO_PIN_8 

Pin 8.

GPIO_PIN_9 

Pin 9.

GPIO_PIN_10 

Pin 10.

GPIO_PIN_11 

Pin 11.

GPIO_PIN_12 

Pin 12.

GPIO_PIN_13 

Pin 13.

GPIO_PIN_14 

Pin 14.

GPIO_PIN_15 

Pin 15.

Definition at line 50 of file stm32f401re_gpio.h.

50 {
GPIO_PIN_te
GPIO pin number within a port (0–15).
@ 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_MODE_te

GPIO pin operating mode.

Enumerator
GPIO_MODE_INPUT 

Digital input mode.

GPIO_MODE_OUTPUT 

Digital output mode.

GPIO_MODE_ALTERNATE_FUNCTION 

Alternate function mode (peripheral routing).

GPIO_MODE_ANALOG 

Analog mode (digital buffer disabled).

GPIO_MODE_INTERRUPT 

External interrupt mode (EXTI + NVIC configured).

Definition at line 79 of file stm32f401re_gpio.h.

79 {
GPIO_MODE_te
GPIO pin operating mode.
@ GPIO_MODE_INTERRUPT
@ GPIO_MODE_ANALOG
@ GPIO_MODE_INPUT
@ GPIO_MODE_ALTERNATE_FUNCTION
@ GPIO_MODE_OUTPUT

◆ GPIO_OUTPUT_TYPE_te

GPIO output driver type.

Enumerator
GPIO_OUTPUT_TYPE_PUSHPULL 

Push-pull output (actively drives both HIGH and LOW).

GPIO_OUTPUT_TYPE_OPENDRAIN 

Open-drain output (actively pulls LOW; HIGH is floating).

Definition at line 90 of file stm32f401re_gpio.h.

90 {
GPIO_OUTPUT_TYPE_te
GPIO output driver type.
@ GPIO_OUTPUT_TYPE_PUSHPULL
@ GPIO_OUTPUT_TYPE_OPENDRAIN

◆ GPIO_OUTPUT_SPEED_te

GPIO output slew rate / speed.

Higher speed settings increase current consumption and EMI. Select the lowest speed adequate for the signal frequency.

Enumerator
GPIO_OUTPUT_SPEED_LOW 

Low speed (~2 MHz).

GPIO_OUTPUT_SPEED_MEDIUM 

Medium speed (~25 MHz).

GPIO_OUTPUT_SPEED_HIGH 

High speed (~50 MHz).

GPIO_OUTPUT_SPEED_VERYHIGH 

Very high speed (~100 MHz).

Definition at line 102 of file stm32f401re_gpio.h.

102 {
GPIO_OUTPUT_SPEED_te
GPIO output slew rate / speed.
@ GPIO_OUTPUT_SPEED_VERYHIGH
@ GPIO_OUTPUT_SPEED_MEDIUM
@ GPIO_OUTPUT_SPEED_LOW
@ GPIO_OUTPUT_SPEED_HIGH

◆ GPIO_PULL_MODE_te

GPIO internal pull-up / pull-down resistor configuration.

Enumerator
GPIO_PULL_MODE_NOPUPD 

No pull-up or pull-down resistor.

GPIO_PULL_MODE_PU 

Internal pull-up resistor enabled.

GPIO_PULL_MODE_PD 

Internal pull-down resistor enabled.

Definition at line 112 of file stm32f401re_gpio.h.

112 {
GPIO_PULL_MODE_te
GPIO internal pull-up / pull-down resistor configuration.
@ GPIO_PULL_MODE_PD
@ GPIO_PULL_MODE_PU
@ GPIO_PULL_MODE_NOPUPD

◆ GPIO_ALTERNATE_FUNCTION_te

GPIO alternate function mapping (AF0–AF15).

The mapping between AF numbers and on-chip peripherals is device-specific. Refer to the STM32F401RE datasheet alternate function table for the correct AF number for each pin/peripheral combination.

Enumerator
GPIO_ALTERNATE_FUNCTION_AF0 

Alternate function 0 (e.g. SYS, MCO).

GPIO_ALTERNATE_FUNCTION_AF1 

Alternate function 1 (e.g. TIM1/TIM2).

GPIO_ALTERNATE_FUNCTION_AF2 

Alternate function 2 (e.g. TIM3–TIM5).

GPIO_ALTERNATE_FUNCTION_AF3 

Alternate function 3 (e.g. TIM9–TIM11).

GPIO_ALTERNATE_FUNCTION_AF4 

Alternate function 4 (e.g. I2C1–I2C3).

GPIO_ALTERNATE_FUNCTION_AF5 

Alternate function 5 (e.g. SPI1–SPI4).

GPIO_ALTERNATE_FUNCTION_AF6 

Alternate function 6 (e.g. SPI3).

GPIO_ALTERNATE_FUNCTION_AF7 

Alternate function 7 (e.g. USART1–USART2).

GPIO_ALTERNATE_FUNCTION_AF8 

Alternate function 8 (e.g. USART6).

GPIO_ALTERNATE_FUNCTION_AF9 

Alternate function 9 (e.g. I2C2–I2C3, CAN).

GPIO_ALTERNATE_FUNCTION_AF10 

Alternate function 10 (e.g. OTG_FS).

GPIO_ALTERNATE_FUNCTION_AF11 

Alternate function 11 (reserved).

GPIO_ALTERNATE_FUNCTION_AF12 

Alternate function 12 (e.g. SDIO).

GPIO_ALTERNATE_FUNCTION_AF13 

Alternate function 13 (reserved).

GPIO_ALTERNATE_FUNCTION_AF14 

Alternate function 14 (reserved).

GPIO_ALTERNATE_FUNCTION_AF15 

Alternate function 15 (EVENTOUT).

Definition at line 126 of file stm32f401re_gpio.h.

126 {
GPIO_ALTERNATE_FUNCTION_te
GPIO alternate function mapping (AF0–AF15).
@ 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_INTERRUPT_TRIGGER_te

EXTI edge trigger selection for interrupt mode.

Only used when GPIO_CFG_ts::mode is GPIO_MODE_INTERRUPT.

Enumerator
GPIO_INTERRUPT_TRIGGER_RE 

Trigger on rising edge only.

GPIO_INTERRUPT_TRIGGER_FE 

Trigger on falling edge only.

GPIO_INTERRUPT_TRIGGER_RFE 

Trigger on both rising and falling edges.

Definition at line 151 of file stm32f401re_gpio.h.

151 {
GPIO_INTERRUPT_TRIGGER_te
EXTI edge trigger selection for interrupt mode.
@ GPIO_INTERRUPT_TRIGGER_RE
@ GPIO_INTERRUPT_TRIGGER_RFE
@ GPIO_INTERRUPT_TRIGGER_FE