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

The CMSIS-Driver USBH_FS requires:

  • Setup of USB clk to 48MHz
  • Configuration of USB_OTG_FS
  • Optional Configuration for VBUS Power Pin:
    • Configure arbitrary pin in GPIO_Output mode and add User Label: USB_OTG_FS_VBUS_Power
  • Optional Configuration for Overcurrent Pin:
    • Configure arbitrary pin in GPIO_Input mode and add User Label: USB_OTG_FS_Overcurrent
Note
The User Label name is used to connect the CMSIS-Driver to the GPIO pin.

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

Peripheral Resource MCBSTM32F200 STM3220G-EVAL
USB_OTG_FS Mode Host_Only Host_Only
VBUS Power output pin PH5 PH5
Overcurrent input pin PF11 PF11

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

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

Pinout tab

  1. Configure USBH mode
    • Peripherals USB_OTG_FS: Mode=Host_Only
  2. Configure USB_OTG_FS_VBUS_Power pin:
    • Click in chip diagram on pin PH5 and select GPIO_Output
  3. Configure USB_OTG_FS_Overcurrent pin:
    • Click in chip diagram on pin PF11 and select GPIO_Input

Clock Configuration tab

  1. Configure USB Clock: "48MHz clocks (MHz)": 48

Configuration tab

  1. Under Connectivity open USB_OTG_FS Configuration:
    • DMA 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
      PA11 USB_OTG_FS_DM Alternate No pull-up and no..High .
      PA12 USB_OTG_FS_DP Alternate No pull-up and no..High .
      - NVIC Settings: enable interrupts
      Interrupt Table Enable Preemption Priority Sub Priority
      USB On The Go FS global interrupt ON 0 0
      - Parameter Settings: not used
    • User Constants: not used
    • Click OK to close the USB_OTG_FS Configuration dialog
  2. Under System Core open NVIC Configuration and select Code generation tab:
    • Disable Generate IRQ handler for USB On The Go FS global interrupt
  3. Under System open GPIO Pin Configuration
    • Enter user label for USB_OTG_FS_VBUS_Power and USB_OTG_FS_Overcurrent pin
      Pin Name Signal on Pin GPIO mode GPIO Pull-up/Pull..Maximum out User Label
      PH5 n/a Output Push Pull No pull-up and no..n/a USB_OTG_FS_VBUS_Power
      PF11 n/a Input mode No pull-up and no..n/a USB_OTG_FS_Overcurrent
    • Click OK to close the Pin Configuration dialog