当前位置:文档之家› fifo详细说明

fifo详细说明

fifo详细说明
fifo详细说明

异步slave FIFO out的固件的问题

文章发表于:2009-08-29 17:06

我设置EP2为Slave out端点,下载程序后,用usb console发送数据老是不成功,不知道是哪里出问题了

void TD_Init(void) // CalLED once at startup

{

BREAKPT &= ~bmBPEN; // to see BKPT LED go out TGE

OED="0xFF"; // 置端口PD为输出端口;为0x00时,置端口PD为输入端口

// set the CPU clock to 48MHz

CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1) ;// CPU控制与状态寄存器

//置PA0、PA1为输出状态,并输出高电平

OEA="OEA|0x03";

IOA="IOA|0x03";

//设置cy7c68013a工作于slave FIFO模式

REVCTL="0X03";

SYNCDELAY;

SYNCDELAY;

IFCONFIG = 0xCB; //内部时钟、48M、三态、不翻转、slave异步模式、0 、FIFO模式SYNCDELAY;

EP2CFG = 0xA2; //输出端点,块传输、512字节,双重缓冲

SYNCDELAY;

// out endpoints do not come up armed

FIFORESET = 0x80; // activate NAK-ALL to avoid race conditions SYNCDELAY; // see TRM section 15.14

FIFORESET = 0x02; // reset, FIFO 2

SYNCDELAY; //

FIFORESET = 0x06; // reset, FIFO 6

SYNCDELAY; //

FIFORESET = 0x08; // reset, FIFO 8

SYNCDELAY;

FIFORESET = 0x00;

SYNCDELAY;

OUTPKTEND = 0x84;

SYNCDELAY;

OUTPKTEND = 0x84;

SYNCDELAY;

PINFLAGSAB = 0x00; // FLAGA - fixed EP6PF, FLAGB - fixed EP6FF SYNCDELAY;

PINFLAGSCD = 0x00; // FLAGC - fixed EP2EF, FLAGD - reserved SYNCDELAY;

FIFOPINPOLAR = 0x00; // all signals active low,

SYNCDELAY;

EP2FIFOCFG = 0x10; // AUTOOUT="1", WORDWIDE="0" SYNCDELAY;

EP2AUTOINLENH=0x02; //端点2自动包长度为512

SYNCDELAY;

EP2AUTOINLENL=0x00;

SYNCDELAY;

AUTOPTRSETUP |= 0x01; // 自动指针设置寄存器

}

相关主题
文本预览
相关文档 最新文档