请问有谁知道哪里有EZ-USB FX2 slave FIFO 手动传输模式的完整例程?我想用EP6端点手动上传图像,即EP6FIFOCFG中的AUTOIN=0,然后在轮询函数TD_Poll()加入一些控制语句(如当EP6端点满的时候将数据上传,然后重新装备计数器),这样轮询函数怎么编写比较好呢?下面是我编写的TD_Poll(),
IFCONFIG |= 0xAB;//异步,从FIFO模式,内部时钟
EP6 设置为IN端点,4*512
void TD_Poll(void) // Called repeatedly while the device is idle
{
if(!(EP68FIFO标志寄存器S & 0x01))
{
INPKTEND = 0x06; SYNCDELAY;//应答数据包
INPKTEND = 0x06; SYNCDELAY;
INPKTEND = 0x06; SYNCDELAY;
INPKTEND = 0x06; SYNCDELAY;
EP6BCH = 0x02; SYNCDELAY;//重置计数器
EP6BCL = 0x00; SYNCDELAY;
EP6BCH = 0x02; SYNCDELAY;
EP6BCL = 0x00; SYNCDELAY;
EP6BCH = 0x02; SYNCDELAY;
EP6BCL = 0x00; SYNCDELAY;
EP6BCH = 0x02; SYNCDELAY;
EP6BCL = 0x00; SYNCDELAY;
}
}
是不是应该在上传数据完成后再重置计数器呢?那要加什么判断语句呢?
另外还想问一下EP6BCH,EP6BCL与EP6FIFOBCH,EP6FIFOBCL之间有什么区别吗? |