tonycai
驱动牛犊
驱动牛犊
  • 注册日期2002-07-03
  • 最后登录2003-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1963回复:11

标准端点描述符的端口号

楼主#
更多 发布于:2002-10-10 17:05
//标准1.1定义bEndpointAddress(端点)中第7为1就是入端点,0为出端点。因为0X80为1000 0000,并且问此入和出是相对设备来说,还是主机;
www.micreation.com 亿新软件欢迎您
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-10 17:32
相对于主机而言!
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
tonycai
驱动牛犊
驱动牛犊
  • 注册日期2002-07-03
  • 最后登录2003-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-10 18:32
也就是说,入端点,其实,是数据从设备发往主机经过的端点了。
www.micreation.com 亿新软件欢迎您
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-10 19:41
对!
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
tonycai
驱动牛犊
驱动牛犊
  • 注册日期2002-07-03
  • 最后登录2003-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-10 19:58

struct usb_endpoint_descriptor *epread, *epwrite;

usb_sndbulkpipe(dev, epwrite->bEndpointAddress)
//usb_sndbulkpipe(dev,endpoint)

usb_rcvbulkpipe(dev, epread->bEndpointAddress)

问题一:
      endpoint资料上写应该是端口号为1-15。可是上面两个值的值一个为0x81,一个为0x2;(从设备中读出是这样的数字)
www.micreation.com 亿新软件欢迎您
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-22 16:17

struct usb_endpoint_descriptor *epread, *epwrite;

usb_sndbulkpipe(dev, epwrite->bEndpointAddress)
//usb_sndbulkpipe(dev,endpoint)

usb_rcvbulkpipe(dev, epread->bEndpointAddress)

问题一:
      endpoint资料上写应该是端口号为1-15。可是上面两个值的值一个为0x81,一个为0x2;(从设备中读出是这样的数字)


第七位指定方向,这是明显的告诉你,0x81 endpoint is bulk in pipe(read), 0x02 is bulk out pipe(write).
接收数据要用bulk in pipe, 发送数据要用bulk out pipe.
tonycai
驱动牛犊
驱动牛犊
  • 注册日期2002-07-03
  • 最后登录2003-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-22 17:28
现在,问题是,我提交了URB给内核,提交成功的,可是内核发数据给硬件就不行啦,总是超时,并提示,设备居然找不到。
www.micreation.com 亿新软件欢迎您
spin
驱动小牛
驱动小牛
  • 注册日期2001-04-17
  • 最后登录2015-10-27
  • 粉丝1
  • 关注0
  • 积分46分
  • 威望354点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-22 17:50
\"两个值的值一个为0x81,一个为0x2\"

我有一个疑问,在驱动中设置的usb的EP地址,0x81的各位表示甚麽?他要发给硬件吗?
lily311
驱动小牛
驱动小牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望26点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-22 18:12
最高位表示方向.其他位表示是哪一个endpoint.
如0x81,0x01分别表示endpoint 1的in/out管道.
tonycai
驱动牛犊
驱动牛犊
  • 注册日期2002-07-03
  • 最后登录2003-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-10-22 18:54
这个标准里将到端点描述符的时候很清楚,比如0x81表示,读端口1、0x02--》表示写端口2。主要看取硬件的端口描述符。
www.micreation.com 亿新软件欢迎您
tonycai
驱动牛犊
驱动牛犊
  • 注册日期2002-07-03
  • 最后登录2003-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-10-22 18:58
问控制传输的端点是0还是0x03;
www.micreation.com 亿新软件欢迎您
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-10-23 08:51
endpoint 0
游客

返回顶部