我现在是用的Cy7c68013a-56pvc的USB芯片与DSP进行通信。
我现在有个问题,是需要通过传输大量的(大于1024字节)数据到DSP中,我选用的是EP2OUT 自动模式。
我的代码是:
CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1) ; // set the CPU clock to 48MHz
// set the slave FIFO interface to 48MHz
REVCTL |= 0x01;
IFCONFIG = 0xCB;
EP2CFG = 0xA2; //OUT端点,双缓冲
SYNCDELAY;
EP2FIFOCFG = 0x11;
SYNCDELAY;
EP2BCL=0x80;
SYNCDELAY;
EP2BCL=0x80;
SYNCDELAY;
OUTPKTEND = 0x82; // just skip EP2
SYNCDELAY;
OUTPKTEND = 0x82;
我有一个问题,当是第一次上电时候,能够通过自动模式EP2OUT把数据全部传下去,但是当以后继续传输的时候,则只能传输一部分数据了。我配置的是2个缓冲区,则只能传输512;我想知道这个是为什么了?
然后还有怎么每次用EP2进行数据传输的时候,都能够像第一次那样传输全部上位机发送过来的数据了?
注明:因为我同时需要有其他几个自动传输端点,分别是EP4 EP6OUT ,当我选则 REVCTL |= 0x03;时候,则不能够进行自动传输。这个是为什么啊?
拜谢!!!
实在搞不定了。。。
|