cy7c68013-56在使用Slave fifo进行数据传输的时候,EP2,EP4作为OUT端点,EP6,EP8作为IN端点。所以这些寄存器一定要搞懂:
PINFLAGSAB,PINFLAGSCD.
我们一般要用到FLAGA,FLAGB,FLAGC,FLAGD几个引脚,用于得到端点的状态,PINFLAGSAB,PINFLAGSCD是一组寄存器,用于设置这四个引脚的功能。PINFLAGSAB为例:
PINFLAGSAB = 0xe8; // FLAGA - fixed EP2EF, FLAGB - fixed EP6FF
SYNCDELAY; //FLAGA引脚,EP2空时为0,非空为1,FLAGB引脚,EP6满为0,非满为1
PINFLAGSCD = 0xac; // FLAGC - fixed EP2FF, FLAGD - fixed EP6EF
SYNCDELAY; //FLAGC引脚,EP2满时为0,非空为1,FLAGD引脚,EP6空为0,非满为1
FIFORESET是用于FIFO状态复位的。这个用下面这段就OK了。
FIFORESET = 0x80; // activate NAK-ALL to avoid race conditions
SYNCDELAY; // see TRM section 15.14
FIFORESET = 0x02; // reset, FIFO 2
SYNCDELAY; //
FIFORESET = 0x04; // reset, FIFO 4
SYNCDELAY;