cancel
Showing results for 
Search instead for 
Did you mean: 

Nucleo-F072RB USB

bwissel
Associate II

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

16 REPLIES 16
AScha.3
Chief III

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".

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

Clock.png

Thanks

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".

GPIO are set to the default values, I don't see an option for GPIO_SPEED_FREQ_HIGH.GPIO.png

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 Venmo
Up vote any posts that you find helpful, it shows what's working..
Karl Yamashita
Lead III

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

Tips and Tricks with TimerCallback https://www.youtube.com/@eebykarl
If you find my solution useful, please click the Accept as Solution so others see the solution.

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).

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.

The STM32F072 was designed to run with the internal 48MHz clock so that is why it doesn't have the external crystal.

 

Google for "Device Descriptor Request (Code 43)". There could be a number of issues including a connection issue. Not sure how you've connected a USB connector to the Nucleo? Pictures, diagram? 

 

I just tested with the STM32F072-Disco using the same Firmware package version 1.11.4 that you used and it works on my board.

I'd take a look at the STM32F072-Disco diagram to see how they connected the USB connector to the MCU pins?

Tips and Tricks with TimerCallback https://www.youtube.com/@eebykarl
If you find my solution useful, please click the Accept as Solution so others see the solution.