chengjian_hui
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2003-09-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1456回复:6

高手新手不妨都来看看

楼主#
更多 发布于:2002-12-27 14:10
在D12-USB开发板的固件程序里,函数USB_Single_Transmit(0, 0)
的作用是什么呀,向控制端点写一个空数据包对程序的运行有什么影响呀?
xjLegend
驱动小牛
驱动小牛
  • 注册日期2002-11-04
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-27 14:19
发USB令牌应答包,其中不包含数据,要不host会认为没成功。
我想要点分,这样才有成就感嘛!
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-27 14:23
发USB令牌应答包,其中不包含数据,要不host会认为没成功。



那除了设置端点结束发的那个空包以外还在什么时候需要发空包阿??
chengjian_hui
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2003-09-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-27 14:44

    那样的话,都需要在什么情况下发空包呀,在读写数据命令之后又没有必要呢?
    我曾经把固件程序Vdor.c里USBVendorRequest_ReadCode(void)和USBVendorRequest_WriteCode(void)函数中USB_Single_Transmit(0, 0);命令去掉过,但是数据传输速率明显的慢了下来,不知是怎样对传输速率造成影响的。
(最后统一放分)
xjLegend
驱动小牛
驱动小牛
  • 注册日期2002-11-04
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-27 15:19
一般是用在控制端点0的通信上,即host标准请求和厂商请求的应答,若无需返回数据,则需要调用此功能。
我想要点分,这样才有成就感嘛!
leadphone
驱动牛犊
驱动牛犊
  • 注册日期2002-11-28
  • 最后登录2008-09-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-27 16:14
举个例子可能会更容易理解:
例如
EP0大小为8;
现在DEVICE需要向HOST回送16字节的数据包,此数据包正好可以通过EP0分两次送到主机,但是两次后主机并不知道数据包是否已经发送完毕,这时DEVICE就需要发送一个0数据包以使主机确认数据发送完毕。

如果DEVICE需要回送的数据是9个字节,那么第二次发送的时候通过EP0只发送一个字节,这样主机就明白数据包已发送完毕。

(以上是我个人的理解,错误之处请指出。)
chengjian_hui
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2003-09-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-27 17:08
谢谢各位,给分,多少就这么个意思吧。
游客

返回顶部