codesnail
驱动牛犊
驱动牛犊
  • 注册日期2008-11-07
  • 最后登录2008-12-29
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望87点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1634回复:7

弱弱的一问,最大包长度的问题!

楼主#
更多 发布于:2008-11-19 14:21
例如我要传送一张图片 大小为100KB,而我的端点最大包长度为1KB,那么我就要传100次是吗,对数据的分割时应用层来做还是驱动层自动做的,我大概看了驱动的代码好像没有数据分割这么一说,见笑。
ken1230
驱动牛犊
驱动牛犊
  • 注册日期2008-11-17
  • 最后登录2008-12-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-11-19 14:26
数据分割是硬件做的, 软件需要给出一次传输的长度(transfer_size)和最大包长度(max_packet_size), 如果transfer_size>max_packet_size, 硬件会做数据分割
usb IC designer
codesnail
驱动牛犊
驱动牛犊
  • 注册日期2008-11-07
  • 最后登录2008-12-29
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望87点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-11-19 14:32
感谢,但是我用DRIVERSTUDIO做的驱动代码是这样写的,如果要传输的长度大于最大包长度,就只传送最大包长度,既然是硬件分割,那为什么驱动层还要判断呢?迷惑中。。。
ken1230
驱动牛犊
驱动牛犊
  • 注册日期2008-11-17
  • 最后登录2008-12-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-11-19 15:30
那这就是软件分割了, 可能有的硬件不支持硬件分割
usb IC designer
feixia111
驱动牛犊
驱动牛犊
  • 注册日期2008-07-22
  • 最后登录2011-08-13
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望24点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-11-19 15:53
应用层直接读100KB大小的数据,数据分割USb固件都帮你了,不用管
codesnail
驱动牛犊
驱动牛犊
  • 注册日期2008-11-07
  • 最后登录2008-12-29
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望87点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-11-19 16:11
晕,可是我的S1R72V05芯片的固件程序没有对数据进行分割啊,它只是判断要传送的数据是不是比最大包长度大,大的话,就只传送最大包长度的数据,并没有进行分割啊。
ken1230
驱动牛犊
驱动牛犊
  • 注册日期2008-11-17
  • 最后登录2008-12-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-11-19 17:25
是判断要传输的是否比最大包大, 还是判断剩余的是否比最大包大?
usb IC designer
codesnail
驱动牛犊
驱动牛犊
  • 注册日期2008-11-07
  • 最后登录2008-12-29
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望87点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-11-20 09:24
不好意思,是我没看全,数据分割是驱动完成的,每次传输最大包长度的数据包,感谢!
游客

返回顶部