Hi everebody,
Before beginning to explain my issue, I would like to tell that I'm French, so excuse, by advance, my bad English.
I have some trouble with the USB controler on the CC1111F32. I would like to make a USB/RF transceiver. I use the USB RF Modem Example (“rf_modem”).
I use the software "RealTerm" to send data over the RF through the USB. When I write 51 bytes or less all data are send correctly by the RF. But when I try to send 52 or more bytes, the register USBCNTL stay locked to the value 0x33 and the USBCNTH stay at 0x00. So the value stored in the circular FIFO is truncated to 51 bytes.
I use the standard librairy (for the USB) that TI gave me and when I want to read value in the USB FIFO, I use the 4th endpoint.
Do you have any idea why I can't read more than 51 bytes over the USB.
following is the 4th endpoint description in the usb_cdc_descriptor.s51:
endpoint1Desc: ; Endpoint descriptor (EP4 OUT)
DB endpoint1DescEnd - endpoint1Desc
DB DESC_TYPE_ENDPOINT ; bDescriptorType
DB 84H ; bEndpointAddress
DB EP_ATTR_BULK ; bmAttributes
DB 00H, 02H ; wMaxPacketSize
DB 01H ; bInterval
endpoint1DescEnd:
following is the function to read the USB FIFO:
I have put a breakpoint on the usbfwReadFifo function to see the value in the USBCNT register and when the data size is less than 51 bytes, the value is in accordance to the lenght of the data. But as soon as the data size is bigger than 52 bytes, the value in register stay locked to 0x33 (51 bytes).
One other thing, is that the flag, FIFO_FULL, in the USBCSOL register is always true.
If some one have an idea, i will very appreciate.
thanks a lot in advance
Regards