Skip to main content
Associate
April 15, 2024
Question

Nucleo-F072RB USB

  • April 15, 2024
  • 3 replies
  • 3629 views

Hello,

I am having trouble getting the USB peripheral recognized by the PC device manager.  In Cube I have the USB FS device checked, and the USB_DEVICE middleware set to virtual COM port.  Everything else is set to default.

The USB clock is set to 48MHz coming from the HSI48 source.

When the peripheral is connected to a PC (through a HUB) the device manager refreshes but the VCOM port does not show.

Thanks for the help.

Brian

3 replies

AScha.3
Super User
April 15, 2024

Hi,

HSI as clk for USB might not be good enough.

Use HSE / crystal as source.

"If you feel a post has answered your question, please click ""Accept as Solution""."
bwisselAuthor
Associate
April 15, 2024

I changed from HSI48 to the PLLCLK at 48MHz without success.  Here is the clock mapping for reference.

Clock.png

Thanks

AScha.3
Super User
April 15, 2024

How you set the gpio pins for USB port ?

should be :  GPIO_SPEED_FREQ_HIGH;

"If you feel a post has answered your question, please click ""Accept as Solution""."
Tesla DeLorean
Guru
April 15, 2024

Check how you're wired up the USB connection to the F072. The ST-LINK one isn't connected to it.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
Karl Yamashita
Lead III
April 16, 2024

Upload your IOC file and also a schematic of your USB connector/breakout board connection to the Nucleo board pins.

If a reply has proven helpful, click on Accept as Solution so that it'll show at top of the post.CAN Jammer an open source CAN bus hacking toolCANableV3 Open Source
bwisselAuthor
Associate
April 16, 2024

Here is my IOC file, I had the data pins swapped.  It is now showing up in the device tree as a USB controller but is failing the Device Descriptor Request (Code 43).

bwisselAuthor
Associate
April 16, 2024

I did notice that on the nucleo board I am using X3 is not installed, this looks like the source for the HSE clock.  That would explain why when I switch from HSI to HSE it still didn't work.