Question
USB FS IN Transfer
Posted on January 05, 2014 at 21:15
Hi,
I'm reaching Control Pipe IN Timeout indication in DIEPINT0.TOC :Bit 3 TOC: Timeout condition
Applies only to Control IN endpoints. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.What exactly this timeout is? Does it mean that TxFIFO is empty while IN token received from Host? If yes how long this timeout is?
I'm tying to send more then 64 bytes IN data - let's say 100bytes. To do it I write 100 bytes to TxFIFO, and fill DIEPTSIZ.XFRSIZ = 100 DIEPTSIZ.PKTCNT = 2 But it turns out that core does not send two packets (64 and 36 bytes) but stops after first 64 bytes IN transfer. Why? How in this caseDIEPTSIZ XFRSIZ and PKTCNT
should be used? I looked at the USB sample code from ST and they are using only PKTCNT=1 and XFRSIZ<=64. They also fill TxFIFO with no more then 64 bytes. If this is the right way to make IN transfer what are all this nice control registers for? And why it is not clearly written in reference manual?