阅读:1162回复:1
求助:端点缓冲去的问题(有程序)
我把bulkloop这个例子中的程序改为:(也就是把判断端点6的缓冲区是否满了注释掉)
自己认为出现的结果应该是:(对ep6没有回读) 对ep2一直可以发数据,而ep6不断的接受数据(新数据覆盖旧数据),但通过上板子验证之后,发现不是这样的结果。ep6只能接收2包数据,好像它满了之后就不能接收数据了。不知道为什么?按理说应该新数据覆盖旧数据的啊。请各位大侠帮忙啊。 if(!(EP2468STAT & bmEP2EMPTY)) { // check EP2 EMPTY(busy) bit in EP2468STAT (SFR), core set's this bit when FIFO is empty // if(!(EP2468STAT & bmEP6FULL)) // { // check EP6 FULL(busy) bit in EP2468STAT (SFR), core set's this bit when FIFO is full APTR1H = MSB( &EP2FIFOBUF ); APTR1L = LSB( &EP2FIFOBUF ); AUTOPTRH2 = MSB( &EP6FIFOBUF ); AUTOPTRL2 = LSB( &EP6FIFOBUF ); count = (EP2BCH << 8) + EP2BCL; // loop EP2OUT buffer data to EP6IN for( i = 0x0000; i < count; i++ ) { // setup to transfer EP2OUT buffer to EP6IN buffer using AUTOPOINTER(s) EXTAUTODAT2 = EXTAUTODAT1; } EP6BCH = EP2BCH; SYNCDELAY; EP6BCL = EP2BCL; // arm EP6IN SYNCDELAY; EP2BCL = 0x80; // re(arm) EP2OUT // } } |
|
沙发#
发布于:2008-01-26 17:13
Please give me the background of you program.
|
|
|