Search code examples
usbstm32stm32f0

What is a typical time for a USB write on an STM32?


I have an STM32f042 and I have loaded the example Custom HID firmware from the STM32F0x2_USB-FS-Device_Lib V1.0.0.

I then did some simple write transfers sending just one or two bytes, and watched the response using wireshark.

After doing about ten transfers it looks like time for a transfer to complete ranges between 15ms and 31ms with the average being somewhere around 25ms. I've been told in the past that a single fast USB transaction should take around 1ms so this feels to me to be about an order of magnitude slow.

Is this a normal time for this chip? (And how would I go about figuring out what "normal" is?) Or is this abnormally slow?


Solution

  • Please check configuration descriptor in usbd_customhid.c file. The polling interval for each endpoint set but parameter: bInterval, the default value in examples(as I remember) set to 0x20(32ms) try to change it!