Deavy Lau
驱动牛犊
驱动牛犊
  • 注册日期2003-12-11
  • 最后登录2005-11-30
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1563回复:2

请教:ControlData.DeviceRequest.wIndex各位的含义?

楼主#
更多 发布于:2004-03-31 10:57
在usb固件编程(d12+c51)中有下边一段程序:
endp = (unsigned char)(ControlData.DeviceRequest.wIndex
         &   MAX_ENDPOINTS);
if (ControlData.DeviceRequest.wIndex & (unsigned char)     USB_ENDPOINT_DIRECTION_MASK)
      D12_SetEndpointStatus(endp*2 + 1, 0);
else
      D12_SetEndpointStatus(endp*2, 0);

请问:
   1、ControlData.DeviceRequest.wIndex 中各位是怎么定义的?在头文件中MAX_ENDPOINTS==0x3。
   2、为什么在设置端点状态时,endp要乘2啊?
伫倚危楼,风细细, 望尽春愁,暗暗升天际。 草色烟光残照里,无言谁会凭阑意。
leoguo1980
驱动牛犊
驱动牛犊
  • 注册日期2004-03-15
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-03-31 11:16
INDEX2个字节中,高字节保留
低字节8个bit中
D7表示direction
D6、D5、D4保留
D3、D2、D1、D0表示Endpoint Number
与上0x03是取出D1、D0位,得知要获得哪个端点的状态
leoguo1980
驱动牛犊
驱动牛犊
  • 注册日期2004-03-15
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-03-31 11:17
*2是因为每个端点有2个端口号啊
pd12的datasheet上写的很清楚
游客

返回顶部