按照参考手册对dfifo的分配,每个通道都对应一个DFIFO寄存器进行读写
但是2.1库中接收fifo都是在DFIFO0处读取,这个是什么原因
发送fifo是按照通道号对应的
还有 本坛simple_head兄曾经上传了一个它的host msc例子,写的相当精简给力,我看到它的接收fifo有用到DFIFO1读取的,请问有没有发现什么问题
如果两者都没问题,那我就奇怪了,为何两者都对啊。。。
虽然从原理上说,即使有多个in通道挂起,但是最终只有一个in事务在进行,接收数据当然是它的,in通道确实只需要一个rxfifo地址,不知为何出现上述混乱
还有个问题,真是迷雾重重,此库中对于接收状态发现不是正常的in数据包的话,不进行任何处理,其中有个是数据pid翻转错误的,表明同样也不接收数据吗,或者说只要任何错误出现,接收fifo不会存有任何数据??? 如果正常的in,我故意只pop部分数据,接下来会是什么结果???继续非空中断???还是说丢失其余数据,并且事实上导致接收fifo变小
请香版主给出建议 |