-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
USBSerial doesn't work with connect_blocking = false on STM32F401 #14763
Comments
Hi |
I checked quickly. No, this did not resolve the issue. Also, please note that I switched to a different target sinced the last reported issue (F103 -> F401). Methodology: I then attached a debugger. Futher test that made a difference
|
PR #14970 |
Description of defect
The USBSerial device on mbed-os-6.10.0 and older (also tested previous version) does not seem to initialize the USB peripheral when the
connect-blocking
parameter is set tofalse
in the constructor. When parameter is set to 'true', everything works as expected: code is paused until the microcontroller is connected to a host. Setting the parameter to 'false' the expectation is that code will continue to run as normal and that the microcontroller can be connected at a later stage to host, but this is not the case with the STM32F401: setting the parameter to 'false' results in no USB device being enumerated from the host - as if no pull-up is even being applied to D+.Target(s) affected by this defect ?
Tested with Nucleo F401RE (C-02 revision)
Toolchain(s) (name and version) displaying this defect ?
Mbed Studio
What version of Mbed-os are you using (tag or sha) ?
mbed-os-6.10.0
What version(s) of tools are you using. List all that apply (E.g. mbed-cli)
Mbed Studio v1.4.1
How is this defect reproduced ?
VBUS connected to PA9, D- and D+ connected directly from USB connector to PA11, PA12 respectively.
Create a blank program in Mbed Studio and update the mbed-os library to mbed-os-6.10.0
mbed_app.json
main.cpp
Further information
Drilling into USBSerial.h in the constructor implementation, adding
connect()
theelse
condition resolves the problem and allows theconnection_blocking = false
to work as expected (device connected to host at later time)The text was updated successfully, but these errors were encountered: