Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
I have a MIDI-USB application on the EZ-USB FX1, which has been working without problems, using EP1 for communication. Now I simply want to move from using EP1 IN and OUT to using EP6 IN and EP2 OUT. Trying for days now, without result. That is, I got all IN communication working correctly, and OUT packets work for small amounts of data only (probably everything below the 64 byte packet size). Any suggestion on how exactly I should use EP2 in a "PORT mode" application (that is, without any use of external FIFO's)? The problem must be related to the double buffering, or maybe an error in how I implement this "manual" mode. What is very strange: everything works fine when I download my firmware over USB and run it from RAM. Running the same code from EEPROM doesn't work (data read from the OUT endpoint seems to be corrupted, when the data communication involves more then 64 bytes) Another thing I don't understand: the datasheet makes me believe that I need to arm EP2 (after processing its content) by writing 0x80 to the byte count register (i.e. SKIP bit high). If I do that, things don't work at all. I need to write 0. Any suggestions are more than welcome, I'm kind-off stuck...
Hi Ossandust, Download Example project from the link http://www.cypress.com/?rID=14321. In the example project you can find bulkloop example. It is the implementation of Endpoints in PORT mode ( manual). You can refer TD_Poll() and TD_Init() function in bulkloop.c. Regards, Gopal