2023-12-14 11:06 PM
my platform is STM32F446, it play as a USB host at full speed, and the pins are PB14 PB15.
I use ST USBH library to implement a USB AOA class.
But I found that everytime when the MCU try to send a Setup transfer and DATA0 transaction, the DATA0 is corrupted.
from logic analyzer we seen below, the DATA0 bit number is wrong.
further more, there are 20+ bits 170us later.
if we are able to link them together, its an unbroken transection.
for this season, program USBH_HandleControl goto CTRL_ERROR, and finally make a reset. And this happen over and over.
Anyone can help me? it border me a lot. Thanks very much!
2023-12-15 10:48 PM
:)
2024-11-29 02:43 AM
Hello newbeea
Did you solve your problem? Just I faced the same one.
2024-11-29 10:04 AM - edited 2024-11-29 10:05 AM
Errors on data level can be caused by problems at electrical level. Try to scope the USB wires. Try to get professional USB.org test equipment and pass PHY tests (the eye diagram and all that).
2024-12-03 06:28 PM
I've solved my trouble.
I use RTOS and enter sleep mode in Idle proccess using WFI instruction. But USB OTG HS not compartible with sleep modes unless it is in suspended state. See 35.8 Reference Manual.