STM32Cube  Version 2.0
Create Projects for STM32F3 Series with STM32Cube HAL and STM32CubeMX
 All Files Pages
CMSIS-Driver UART Setup

The CMSIS-Driver USART requires:

  • Setup of USART/UART mode (Asynchronous, Synchronous, Single wire, IrDA or SmartCard)
  • Optional configuration of Hardware Flow Control (only in Asynchronous mode)

Valid settings for various evaluation boards are listed in the table below:

Peripheral Resource STM32303C-EVAL
USART Peripheral USART1
USART Mode Asynchronous
TX Pin PC4
RX Pin PE1

For different boards, refer to the hardware schematics to reflect correct setup values.

The STM32CubeMX configuration for STMicroelectronics STM32303C-EVAL Board with steps for Pinout, Clock, and System Configuration are listed below. Enter the values that are marked bold.

Pinout tab

  1. Configure peripheral
    • Peripherals USART1: Mode=Asynchronous, Hardware Flow Control=Disable
  2. Configure pins PC4 and PE1 as USART1 peripheral alternative pins
    • Click in chip diagram on pin PC4 and select USART1_TX
    • Click in chip diagram on pin PE1 and select USART1_RX

Clock Configuration tab

  1. Configure USART1 Clock

Configuration tab

  1. Under Connectivity open USART1 Configuration:
    • Parameter Settings: not used
    • User Constants: not used
    • NVIC Settings: enable interrupts
      Interrupt Table Enabled Preemption Priority Sub Priority
      DMA1 channel4 global interrupt ON 0 0
      DMA1 channel5 global interrupt ON 0 0
      USART1 global interrupt / USART1 wake-.. ON 0 0
    • optional DMA Settings: setup DMA transfers for Rx and Tx (DMA is optional)
      Add - Select USART1_RX: Stream=DMA1 Channel 5, DMA Request Settings: not used, Priority=Low
      Add - Select USART1_TX: Stream=DMA1 Channel 4, DMA Request Settings: not used, Priority=Low
    • GPIO Settings: review settings
      Pin Name Signal on Pin GPIO output..GPIO mode GPIO Pull-up/Pull..Maximum out Fast Mode User Label
      PC4 USART1_TX n/a Alternate ..Pull-up High n/a .
      PE1 USART1_RX n/a Alternate ..Pull-up High n/a .
      Click OK to close the USART1 Configuration dialog
  2. Open Project - Settings - Advanced Settings from the menu and enable "Not Generate Function call" for MX_USART1_UART_Init