Issue with USB 4.0.3 CDC example

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issue with USB 4.0.3 CDC example

Jump to solution
1,230 Views
pedropol
Contributor II

Hi,

I used the example from  Freescale USB Stack v4.0.3\ProcessorExpert\Examples\Device\CDC\USB_CDC_DEVICE_JF128_PEx to make a CDC device with a TWR-MCF51JF128.


The example work fine when TWR receive a byte from UART and send to USB using


status= USB_Class_CDC_Interface_DIC_Send_Data(CONTROLLER_ID, g_curr_send_buf,size);

with size=1

but when size =16 no one byte is sent.

status result is USB_OK .

g_curr_send_buf seems set in queue

Callback function returns 216 bytes sent", but nothing is transmitted by USB

Reception works fine with 16 bytes.

Anyone knows what could be happening?

I need send AES encrypted data in 16 bytes blocks 






1 Solution
980 Views
BlackNight
NXP Employee
NXP Employee

I had reported this a while back too, and have made my own fix.

see http://mcuoneclipse.com/2012/04/17/fsl_usb_stack-updated-sending-16-or-32-byte-blocks/

There might be another issue: do not send a packet while one is still in transaction: this might fail especially if you send things fast. I have fixed this on my end too.

View solution in original post

2 Replies
981 Views
BlackNight
NXP Employee
NXP Employee

I had reported this a while back too, and have made my own fix.

see http://mcuoneclipse.com/2012/04/17/fsl_usb_stack-updated-sending-16-or-32-byte-blocks/

There might be another issue: do not send a packet while one is still in transaction: this might fail especially if you send things fast. I have fixed this on my end too.

980 Views
pedropol
Contributor II

Thanks, I have the same problem. Messages with 16 bytes are not sent, but your fix doesn't works in my code. Finally, I divided the message in 2 messages with 8 bytes each one.

0 Kudos
Reply