阅读:786回复:1
请问一些FX2中的概念,大侠们看看吧,谢谢!
对一个批量传输,既然数据封包是按照512,64等等来传输的。
1.那么对于EP2,EP4这样的端口,double,triple,quad有什么用呢? 2.out批量传输时,FX2是等到将EPxFIFOBUF中512字节的数据发送出去后,再可以接收主机往下发送的数据,再按512字节发送? 如果这样,那不是每次要有empty标志才往EP2FIFOBUF传数据? 还是empty相当于out传输的buty标志。 对bulkloop例子的那段我不理解: if(!(EP2468STAT & bmEP2EMPTY)) //EP2不为空时? {....} 3.仍是bulkloop中的, SYNCDELAY; EP2BCL = 0x80; // arm EP2OUT by writing byte count w/skip. SYNCDELAY; EP2BCL = 0x80; 是因为EP2设置为double才要对EP2BCL写2次? 那如果是triple,quad,就要写3次,4次? 4.TD_Poll()这个动作究竟是在什么时候执行呢? 书里写是收到setup封包时,我觉得应该是收到令牌封包时吧。 也就是包含有in(out),addr,endp,crc5时做的事吧? 哪位大侠麻烦解释一下,谢谢! |
|
沙发#
发布于:2003-11-17 22:52
1、double,triple,quad指的是用于缓存数据用的,当传输的速率很快的时候,系统来不及反应,就需要更打的BUFFER来缓冲数据!
2、当采取BULK模式发送数据的时候,一次传输数据的大小固定,64(1。0)512(2。0),采用AUTOOUT模式,等ENDPOINT数据都发送完了之后(也就是EMPTY),系统会自动发的! 3、是的! 4、不明白你说什么! :D :D :D |
|