STM32Cube  Version 2.0
Create Projects for STM32L5 Series with STM32Cube HAL and STM32CubeMX
 All Files Functions Variables Macros Pages
CMSIS-Driver USART 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 STM32L562E-DK
USART Peripheral USART1
USART Mode Synchronous
TX Pin PA9
RX Pin PA10
CK Pin PB5

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

The STM32CubeMX configuration for STM32L562E-DK with steps for Pinout, Clock, and System Configuration are listed below. Enter the values that are marked bold.

Pinout tab

  1. Configure USART1 mode
    • Peripherals USART1: Mode=Synchronous

Clock Configuration tab

  1. Configure USART1 Clock.

Configuration tab

  1. Under Connectivity open USART1 Configuration:
    • optional DMA Settings: setup DMA transfers for Rx and Tx (DMA is optional)
      Add - Select USART1_RX: Stream=DMA1 Channel 1, DMA Request Settings: not used
      Add - Select USART1_TX: Stream=DMA1 Channel 2, DMA Request Settings: not used
    • GPIO Settings: review settings, no changes required
      Pin Name Signal on Pin GPIO mode GPIO Pull-up/Pull..Maximum out User Label
      PB6 USART1_TX Alternate Pull-up Very High .
      PG10 USART1_RX Alternate Pull-up Very High .
      PB5 USART1_CK Alternate No pull-up and no..Very High .
      - NVIC Settings: enable interrupts
      Interrupt Table Enable Preemption Priority Sub Priority
      USART1 global interrupt ON 0 0
      DMA1 channel1 global interrupt ON 0 0
      DMA1 channel2 global interrupt ON 0 0
      - Parameter Settings: not used
    • User Constants: not used
    • 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_Init
Note
The CMSIS Driver:USART (API):USART component in the Manage Run-Time Environment dialog adds multiple C source files to the project. The interface selection in STM32CubeMX selects the actual implementation that is compiled: IrDA, SmartCard, UART, or USART.