2026-05-16 1:07 AM - last edited on 2026-05-16 2:04 AM by Andrew Neil
Hello,
In this file, the line:
USBx_HC((uint32_t)ch_num)->HCSPLT |= USB_OTG_HCSPLT_XACTPOS_Pos;wrongly alters bits 1 to 3 of register HCSPLT
That can be fixed simply by removing this line, since middle payload is encoded by bits 00 in the XACTPOS field.
Solved! Go to Solution.
2026-05-18 1:17 AM
Hi @cs
I assume middle payload must be encoded as 00 as described in register description fields
An internal ticket CDM0062710 is submitted to dedicated team to report this potential bug.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2026-05-16 1:11 PM - edited 2026-05-17 1:14 AM
2026-05-16 11:41 PM
Yes, it's what I think. The coding style here is to set appropriate bits to one in the XACTPOS field, and all XACTPOS bits are zero for middle payload.
2026-05-18 1:17 AM
Hi @cs
I assume middle payload must be encoded as 00 as described in register description fields
An internal ticket CDM0062710 is submitted to dedicated team to report this potential bug.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.