TI中文支持网
TI专业的中文技术问题搜集分享网站

请教USB的多个EP问题

各位专家,我在用CCS5.3基于例程c55_csl_304\ccs_v50_examples\usb\CSL_USB_DmaExample开发5534的USB,基本过程为上位机发送不同的命令,希望得到相应的响应,问题如下:

1.上位机发送命令A时可以得到正确响应,但发送命令B时连发3次仍得到A的响应,第4次发送命令B时才能得到B的响应

2.我在程序中想只用EP1的bulk作为命令交互,因此在USB ISR中去掉了EP2~4的处理,编译正常;猜测是否与5534支持4个EP有关,但我把EP2~4的处理程序加上去之后现象依旧,并且在BUS HOUND软件中看到的命令也都是发往EP1的

请问该现象是否与器件支持4个EP有关?若有关,应该怎么处理才能只用EP1作为协议交互的通道呢?

多谢!

user1700256:

追加描述:

上位机发送命令后在ccs中看到要回应的缓冲区已经更新到正确的响应,如下面的RspBytesLength和testbuf,只是DSP实际发出的还是之前命令的响应

/* Check Data In Ready , host read from device */ if(hUsbDev->dwIntSourceL & CSL_USB_TX_INT_EP1) //INTMASKEDR1[1] {USB_flushFifo(CSL_USB_EP1, 1); /* Flush the FIFO to clean any data already present in the Tx FIFO */ intEp = CSL_USB_TX_INT_EP1; USB_confDmaTx(CSL_USB_EP1, &hpdtx, RspBytesLength, testbuf, FALSE);USB_dmaTxStart(CSL_USB_EP1); }

user1700256:

回复 user1700256:

更正:上位机发送命令A时可以得到正确响应,但发送命令B时连发2次仍得到A的响应,第3次发送命令B时才能得到B的响应,此后发命令B一直能得到B的响应,再切换到命令A仍是前两次得到B的响应,需第三次才能得到A响应

赞(0)
未经允许不得转载:TI中文支持网 » 请教USB的多个EP问题
分享到: 更多 (0)