[ZLG-ARM] USB DMA传输问题

[复制链接]
2925|7
 楼主| hpy013 发表于 2007-12-31 12:44 | 显示全部楼层 |阅读模式
为什么USB传输中,每次传输的长度与USB 设备描述符中设置包的最大长度有关呢?现在是每次传输的长度不能小于描述符中设置包的最大长度,真是很奇怪啊?我想只传给PC1字节,怎么办啊?那位也碰到过这样的问题。
wlsui 发表于 2007-12-31 13:58 | 显示全部楼层

每次传输不能大于端点最大包长度,

而不是小于<br />如一个端点的最大包长度为64字节,则一次传输只能小于或等于64,不能大于<br />如果你想只传给PC机1字节,在PC机发送IN令牌后只写一字节就行了<br />如果想传输65字节,则要分两次(假定最大包长度为64字节),第一次传64字节,第二次再传1字节,注意,短包意味着传输结束
 楼主| hpy013 发表于 2007-12-31 14:16 | 显示全部楼层

谢谢。

回楼上,是啊,我本来是这样做的,可是一次成功,再一次就失败了。没办法,我开始找原因。只要把EP2_PACKET_SIZE由64变成1,就没出现了。奇怪啊。但出现其他问题。<br />哎~~太奇怪了。周工的技术支持放假了,不支持。只好慢慢找。
 楼主| hpy013 发表于 2007-12-31 14:21 | 显示全部楼层

这是BUS HOUND图片

这是BUS&nbsp;HOUND图片
 楼主| hpy013 发表于 2007-12-31 14:24 | 显示全部楼层
58741 发表于 2008-1-1 10:02 | 显示全部楼层

帮顶

<br />
wlsui 发表于 2008-1-1 11:23 | 显示全部楼层

BUS HOUND我没怎么用过,

所以对那个图也不是很清楚<br />周立功公司虽然元旦放假了,但还有很多工程师在网上为别人答疑<br /><br />如果一次成功,再一次就失败,则可能是程序的其它地方问题,而不是一次发多少字节的问题。比如发送完后没有清楚缓冲区或那些标志位没有设置正确等
 楼主| hpy013 发表于 2008-1-4 14:05 | 显示全部楼层

找出原因了

又是双缓冲结构的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

516

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部