1. TD_Init代码
void TD_Init(void) // Called once at startup
{
// set the CPU clock to 48MHz
CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1);
SYNCDELAY;
IFCONFIG =0x43; //使用外部IFCLK,时钟频率48MHz
//数据读写与时钟同步,SlaveFIFO接口模式
SYNCDELAY;
EP2CFG=0xA0; //EP2为批量输出端点,buffer:512*4
SYNCDELAY;
EP4CFG=0; //EP4禁用
SYNCDELAY;
EP6CFG=0xE0; //EP6为批量输入端点,buffer:512*4
SYNCDELAY;
EP8CFG=0; //EP8禁用
SYNCDELAY;
FIFORESET = 0x80; //activate NAK-ALL to avoid conditions
SYNCDELAY;
FIFORESET = 0x02; //复位FIFO2
SYNCDELAY;
FIFORESET = 0x04; //复位FIFO4
SYNCDELAY;
FIFORESET = 0x06; //复位FIFO6
SYNCDELAY;
FIFORESET = 0x08; //复位FIFO8
SYNCDELAY;
FIFORESET = 0x00; //release "nak all"
SYNCDELAY;
PINFLAG

本文详细分析了CY7C68013A在SlaveFIFO模式下的固件初始化代码,重点探讨了IFCONFIG、bEndpointAddress寄存器配置以及EP2CFG、PINFLAGSxx、EP2FIFOCFG等参数对USB端点传输类型和方向的影响。通过对PINFLAGSAB和PINFLAGSCD的设置,调整了FIFO满和空的标志时序,确保数据传输的正确性。
订阅专栏 解锁全文
4494

被折叠的 条评论
为什么被折叠?



