Multiplexing function mapping#

GPIO Alternate Function Registers#

Pin multiplexing is controlled by the GPIO Alternate Function Registers (AFR). Each pin uses 4 bits to select the alternate function.

AFR Bit Mapping#

  • Bits 0–3 : Pin 0

  • Bits 4–7 : Pin 1

  • Bits 8–11 : Pin 2

  • Bits 12–15 : Pin 3

  • Bits 16–19 : Pin 4

  • Bits 20–23 : Pin 5

  • Bits 24–27 : Pin 6

  • Bits 28–31 : Pin 7

AF values:

  • 0 → GPIO (default)

  • 1 → AF1

  • 15 → AF15

Configuration Example#

Configure PA0 as USART2_TX (AF9):

GPIOA->AFR = (GPIOA->AFR & ~(0xF << 0)) | (9 << 0);

Design Considerations#

  • PA13 / PA14 should remain reserved for SWD during development.

  • I2C is recommended on PB6 / PA10 for applications.

  • The onboard LED on PB5 shares SPI_MOSI.

Configuration Example#

Configure PA0 as USART2_TX (AF9):

GPIOA->AFR = (GPIOA->AFR & ~(0xF << 0)) | (9 << 0);

Design Considerations#

  • PA13 / PA14 should remain reserved for SWD during development.

  • I2C is recommended on PB6 / PA10 for applications.

  • The onboard LED on PB5 shares SPI_MOSI.

PA0 – Alternate Function Mapping#

AF

Function

AF1

USART1_CTS

AF4

USART2_CTS

AF7

COMP1_OUT

AF9

USART2_TX

AF10

SPI1_MISO

AF13

TIM1_CH3

AF14

TIM1_CH1N

AF15

IR_OUT

PA1 – Alternate Function Mapping#

AF

Function

AF0

SPI1_SCK

AF1

USART1_RTS

AF4

USART2_RTS

AF7

EVENTOUT

AF9

USART2_RX

AF10

SPI1_MOSI

AF13

TIM1_CH4

AF14

TIM1_CH2N

AF15

MCO

PA2 – Alternate Function Mapping#

AF

Function

AF0

SPI1_MOSI

AF1

USART1_TX

AF4

USART2_TX

AF7

COMP2_OUT

AF10

SPI1_SCK

AF12

I2C_SDA

AF13

TIM3_CH1

PB0 – Alternate Function Mapping#

AF

Function

AF0

SPI1_NSS

AF1

TIM3_CH3

AF2

TIM1_CH2N

AF5

EVENTOUT

AF7

COMP1_OUT

PB5 – Alternate Function Mapping#

AF

Function

AF0

SPI1_MOSI

AF1

TIM3_CH2

AF2

TIM16_BKIN

AF3

USART1_CK

AF4

USART2_CK

AF5

LPTIM_IN1

AF7

COMP1_OUT

PA13 – Alternate Function Mapping#

AF

Function

AF0

SWDIO

AF1

IR_OUT

AF7

EVENTOUT

AF9

USART1_RX

AF10

SPI1_MISO

AF13

TIM1_CH2

AF15

MCO

PA14 – Alternate Function Mapping#

AF

Function

AF0

SWCLK

AF1

USART1_TX

AF4

USART2_TX

AF7

EVENTOUT

AF15

MCO

PB6 – Alternate Function Mapping#

AF

Function

AF0

USART1_TX

AF1

TIM1_CH3

AF2

TIM16_CH1N

AF4

USART2_TX

AF5

LPTIM_ETR

AF6

I2C_SCL

AF7

EVENTOUT

PA10 – Alternate Function Mapping#

AF

Function

AF1

USART1_RX

AF2

TIM1_CH3

AF4

USART2_RX

AF6

I2C_SDA

AF7

EVENTOUT

AF9

USART1_TX

AF10

SPI1_NSS

AF12

I2C_SCL