打印

usb host 接收FIFO在哪个地址pop数据

[复制链接]
2000|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
myxiaonia|  楼主 | 2013-8-9 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
按照参考手册对dfifo的分配,每个通道都对应一个DFIFO寄存器进行读写

但是2.1库中接收fifo都是在DFIFO0处读取,这个是什么原因
发送fifo是按照通道号对应的

还有 本坛simple_head兄曾经上传了一个它的host msc例子,写的相当精简给力,我看到它的接收fifo有用到DFIFO1读取的,请问有没有发现什么问题

如果两者都没问题,那我就奇怪了,为何两者都对啊。。。

虽然从原理上说,即使有多个in通道挂起,但是最终只有一个in事务在进行,接收数据当然是它的,in通道确实只需要一个rxfifo地址,不知为何出现上述混乱

还有个问题,真是迷雾重重,此库中对于接收状态发现不是正常的in数据包的话,不进行任何处理,其中有个是数据pid翻转错误的,表明同样也不接收数据吗,或者说只要任何错误出现,接收fifo不会存有任何数据???  如果正常的in,我故意只pop部分数据,接下来会是什么结果???继续非空中断???还是说丢失其余数据,并且事实上导致接收fifo变小

请香版主给出建议
沙发
myxiaonia|  楼主 | 2013-9-3 16:19 | 只看该作者
不知道为何IN通道只在DFIFO0上pop数据,但是这样做却是对的

使用特权

评论回复
板凳
zeluo| | 2013-9-3 19:36 | 只看该作者
不是很了解   楼主   帮你顶一个   看看别人的意见如何   应该还是需要多看看技术手册    应该就知道了

使用特权

评论回复
地板
myxiaonia|  楼主 | 2013-9-5 11:17 | 只看该作者
zeluo 发表于 2013-9-3 19:36
不是很了解   楼主   帮你顶一个   看看别人的意见如何   应该还是需要多看看技术手册    应该就知道了  ...

参考手册 没有指出这个问题  这也是我纠结的地方  毕竟 如果我看到的都是同样的内容,也就不会花时间来理解这个问题 尽管现在也不知道到底是什么原因 估计需要熟悉这个usb内核的人来答疑了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

499

帖子

5

粉丝