Existen 9 registros configurables para la STM32F401RE en 3 puertos A, B, **C
Permite configurar el modo de trabajo del puerto, en Input, Output, Alternative, Analog. Por defecto el valor del registro para cada pin es 00
Input: Usado Digitalmente para identificar señales lógicas como ‘0’ y ‘1’ Output: Usado Digitalmente para enviar señales lógicas como ‘0’ y ‘1’ Alternative: En ella se usan los pines para configurar módulos como USART, I2C, TIMERS, SPI Analog: Permitirá Configurar los módulos DAC y/o ADC
| MODER [1:0] | Mode |
|---|---|
| 00 | Input |
| 01 | Output |
| 10 | Alternative |
| 11 | Analog |
Se define si el pin trabaja Push-Pull ó Open-Drain, en el primero, los pines serán configurados en el cero lógico como 0V y el uno lógico como 3.3V, Y en Open-Drain se usa el cero lógico o en caso contrario alta impedancia. El valor por defecto será 0
| OTx | Mode |
|---|---|
| 0 | Push-Pull |
| 1 | Open-Drain |
Se realiza la configuración de la velocidad de cada uno de los pines. Por defecto se usará la velocidad alta: 10
| OSPEEDR [1:0] | Velocidad | [MHz] |
|---|---|---|
| 00 | Baja | 2 MHz |
| 01 | Media | 10 MHz |
| 10 | Alta | 50 MHz |
| 11 | Muy Alta | >50 MHz |
Permite la configuración de la resistencia de cada uno de los pines, existen 3 opciones: Pull-Up, Pull-Down o Ninguna de las dos. Valor por defecto Ninguna de las dos: 00
| PUPDR [1:0] | Mode |
|---|---|
| 00 | Ninguna |
| 01 | Pull-Up |
| 10 | Pull-Down |
GPIOx → IDR: Sirve para leer el estado lógico de los pines (”Solo Lectura”) GPIOx → ODR: Sirve para Activar el estado lógico de los pines (”Solo Escritura”)
Permiten configurar las funciones alternativas de cada uno de los pines