在做一个项目,使用的是68013,用的是手动模式读GPIF数据,出现的情况是,每2048个字节只读对前1024个字节,我的EP2端点设置成1024,2倍缓冲,是不是只读了EP2的第一缓冲区,而没有设置指针指向第二缓冲区,我的这一段程序是这样写的,是否有理解失误请大家指正,如何设置指针请大家给些意见:
AUTOPTRH1 = MSB( &EP2FIFOBUF );//自动指针地址高/低,APTR1H和AUTOPTRH1是同一个寄存器,前者是旧的
AUTOPTRL1 = LSB( &EP2FIFOBUF );//EP2FIFOBUF 端点2缓冲区
AUTOPTRH2 = MSB( &myBuffer1 );//目的单元
AUTOPTRL2 = LSB( &myBuffer1 );
for( i = 0x0000; i < 1024; i++ )
{
EXTAUTODAT2 = EXTAUTODAT1;
SBUF1=myBuffer1[i]; //SBUF0:Serial Port 0 transmit/receive buffer.
while(TI1 == 0);
SYNCDELAY;
TI1 = 0;
} |