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

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=Asynchronous, Hardware Flow Control=Disable

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 5, DMA Request Settings: not used
      Add - Select USART1_TX: Stream=DMA1 Channel 4, 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
      PA9 USART1_TX Alternate Pull-up Very High .
      PA10 USART1_RX Alternate Pull-up 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_UART_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.