Skip to main content
Explorer II
June 13, 2025
Solved

PWR_CSR2_USB33RDY flag is not set in Nucleo-H7S3L8

  • June 13, 2025
  • 2 replies
  • 318 views

I was able to get CDC_Standalone in STM32CubeH7RS running on Nucleo-H7S3L8.

Next, I am trying to get USB FS CDC running based on the Templates_board project.


First, I need to modify the .ioc file to display the COM port in the Windows Device Manager. However, the USB regulator ready flag (PWR_CSR2_USB33RDY) is not set within HAL_PWREx_EnableUSBVoltageDetector(), causing a timeout.


I have attached the current .ioc file.


Any advice would be greatly appreciated.

    This topic has been closed for replies.
    Best answer by yamamo2shun1

    I found the solution by myself.

    As shown in the image, when “USBD_SELF_POWERED” is enabled, the USB regulator ready flag is now set.

    self-enabled.png

    2 replies

    yamamo2shun1AuthorAnswer
    Explorer II
    June 18, 2025

    I found the solution by myself.

    As shown in the image, when “USBD_SELF_POWERED” is enabled, the USB regulator ready flag is now set.

    self-enabled.png

    Graduate II
    August 8, 2025

    I see similar issue on STM32H7R3L8HxH using STM32CubeIDE v1.19.0 and CubeMX version 6.15.0.

    We use external USB supply in design: 3.3V goes into VDD33USB and VDD50USB. PWR is configured not to use USB regulator (it is unchecked):

    mkrk_1-1754657788962.png

    Based on chapter 6.4.7 USB regulator in reference manual it seems that USB33RDY does not need to be checked when using external supply.

    However, CubeMX still generates HAL_PWREx_EnableUSBVoltageDetector() call into HAL_MspInit() and it fails with timeout because USB33RDY does not get set.

    I tried different CubeMX options include the solution above, but that doesn't help or even can't help, because device initialization takes place after HAL_Init() where the issue occurs.