USBD_VCOM_SendData Problem

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User11795
Level 1
Level 1
I want to send 2048 bytes data at once with USBD_VCOM_SendData on XMC4500, but I can not do it.
If I send 2048 bytes data twice with USBD_VCOM_SendData on the XMC4500, 4096 bytes data is transmitted in the second transmission.
If I transmit 2049 bytes data with USBD_VCOM_SendData on the XMC4500, it is sent at once.
Please tell me how to transmit 2048 bytes data at once with USBD_VCOM_SendData on XMC4500.
0 Likes
4 Replies
User7887
Level 1
Level 1
I have the same issue. And It seems that if the send length is the integer multiple of 64 will have this problem.

Does anybody solve this issue?
0 Likes
User7887
Level 1
Level 1
I use DAVE4 and XMC4500 F100x1024. USB driver version is USBD_VCOM/USBD_VCOM_0 V4.0.10
0 Likes
User13960
Level 3
Level 3
First like received
Hi Infineon support,

Is there a solution for this bug please ? Looks like it has been around for 3 years now.

The USBD_VCOM_SendData function will not send data if the Length is a multiple of 64.

I am working on a critical project and I am unable to deliver my product with this bug present. Your urgent attention would be greatly appreciated.

Thank you very much
PHAB
0 Likes
User13960
Level 3
Level 3
First like received
This bug can be extremely difficult to find in a system transmitting variable length strings as the fault may only occur once over several hours, days, weeks etc.

For anyone experiencing this problem the work around I have implemented is...


Fill buffer

if (buffer length is a multiple of 64)
{
Append a NULL character to the end of the buffer
Increment Length variable
}

Hope this helps

PHAB
0 Likes