|
Thank you.Here is a piece of my code.
void TD_Init( void )
{
CPUCS = 0x10; // CLKSPD[1:0]=10, for 48MHz operation
SYNCDELAY;
REVCTL=0X03;
SYNCDELAY;
SYNCDELAY;
FIFORESET = 0x80;
SYNCDELAY; // see TRM section 15.14
FIFORESET = 0x02; // reset, FIFO 2
SYNCDELAY; //
FIFORESET = 0x04; // reset, FIFO 4
SYNCDELAY; //
FIFORESET = 0x06; // reset, FIFO 6
SYNCDELAY; //
FIFORESET = 0x08; // reset, FIFO 8
SYNCDELAY; //
FIFORESET = 0x00;
SYNCDELAY;
EP2CFG=0XEA;
SYNCDELAY;
EP6CFG=0XEA;
SYNCDELAY;
EP4CFG=0X00;
SYNCDELAY;
EP8CFG=0X00;
SYNCDELAY;
//IFCONFIG = 0xCB;
IFCONFIG = 0x43;
SYNCDELAY;
// IFCLKSRC=0 , FIFOs executes on external clk source
// xMHz=0 , 48MHz internal clk rate
// IFCLKOE=0 , Don't drive IFCLK pin signal at 48MHz
// IFCLKPOL=0 , Don't invert IFCLK pin signal from internal clk
// ASYNC=1 , master samples asynchronous
// GSTATE=0 , Don't drive GPIF states out on PORTE[2:0], debug WF
// IFCFG[1:0]=11, FX2 in slave FIFO mode
EP2FIFOCFG = 0x09; // AUTOIN=1, ZEROLENIN=1,WORDWIDE=1
SYNCDELAY;
EP6FIFOCFG = 0x09; // AUTOIN=1, ZEROLENIN=1,WORDWIDE=1
SYNCDELAY;
EP4FIFOCFG = 0x00; // AUTOIN=0, ZEROLENIN=0,WORDWIDE=0
SYNCDELAY;
EP8FIFOCFG = 0x00; // AUTOIN=0, ZEROLENIN=0,WORDWIDE=0
SYNCDELAY;
PINFLAGSAB=0X00;
SYNCDELAY;
PINFLAGSCD=0X00;
SYNCDELAY;
PORTACFG = 0x40;
SYNCDELAY;
PORTCCFG=0x00;
SYNCDELAY;
PORTECFG=0x00;
SYNCDELAY;
OEC=0XFF;
SYNCDELAY;
IOC=0xFF;
SYNCDELAY;
//SLAVE FIFO
FIFOPINPOLAR=0X00;
//FIFOPINPOLAR=0X01;
SYNCDELAY;
//AUTOIN
EP2AUTOINLENH=0X04;
SYNCDELAY;
EP2AUTOINLENL=0X00;
SYNCDELAY;
EP6AUTOINLENH=0X04;
SYNCDELAY;
EP6AUTOINLENL=0X00;
SYNCDELAY;
EP4AUTOINLENH=0X00;
SYNCDELAY;
EP4AUTOINLENL=0X00;
SYNCDELAY;
EP8AUTOINLENH=0X00;
SYNCDELAY;
EP8AUTOINLENL=0X00;
SYNCDELAY;
Rwuen = TRUE;
addrcmd=0x00; //命令端口初始化
}
|