2021-06-11 09:28 PM
Hello everyone,
I have one more question about a project I generated with STM32CubeMX for an STM32WB55 microcontroller. The code generation included all necessaries libraries and source code to communicate with an external master device (such as a laptop), and all seems to work perfectly on this side (I mean, communication between my laptop and the STM32WB is OK).
When I try to receive a frame sent by the laptop or a terminal, (in the "userBufferRX" ) it seems to be limited tu 64 bytes only. In the RX buffer, I see only 64 bytes and the end of my frame seems to loopback at the beginning of the buffer. I need to receive frames up to 200 bytes.
So, here is my question : Is there any configuration to extend this size or is it herd-limited ? How can I set this ?
Thank you for your help, and have a nice weekend to all.
Patrick
Solved! Go to Solution.
2021-06-12 05:54 AM
USB FS data frames are limited to 64 bytes. If messages are longer, they are split into several frames, and you'll only receive 64 on the first frame.
It could be you're jumping the gun and need to wait longer for the remaining data to come in. You'll need to store them in a buffer until all 200 bytes are present.
The 64 bit frame size is a limitation of USB FS.
2021-06-12 05:54 AM
USB FS data frames are limited to 64 bytes. If messages are longer, they are split into several frames, and you'll only receive 64 on the first frame.
It could be you're jumping the gun and need to wait longer for the remaining data to come in. You'll need to store them in a buffer until all 200 bytes are present.
The 64 bit frame size is a limitation of USB FS.
2021-06-14 10:38 PM
Hello TDK,
Thank'a lot for your quick reply.
Those explanation are clear and it's what I guessed.
I just implemented splitting my data in less than 64 bytes frames, and this is Ok now.
Thank you again and have a nice day.
Patrick