Showing results for 
Search instead for 
Did you mean: 

USB Low-Full-High Speed Peripherals

Not applicable
        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...   
1 Reply
Not applicable
        Hi Ossandust,   
Download Example project from the link 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.