pengenwen
禁止发言
禁止发言
  • 注册日期2003-03-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1586分
  • 威望8380点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1422回复:4

做过68013的大虾进来看看,50分

楼主#
更多 发布于:2004-01-06 15:00
用户被禁言,该主题自动屏蔽!
fengzhongzhige
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2008-04-15
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望10点
  • 贡献值0点
  • 好评度40点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-01-06 15:25
技术手册上讲:是由你所连的PC上是高速还是全速来决定
PCI卡 http://blog.21ic.com/blog.asp?name=zhangdage
huoxy
驱动小牛
驱动小牛
  • 注册日期2002-03-01
  • 最后登录2014-02-24
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-01-06 16:03
同意。

程序根据当前连接的总线类型决定向PC返回什么样的描述符。


确定返回的描述符。
void ISR_Highspeed(void) interrupt 0
{
   if (EZUSB_HIGHSPEED())
   {
      pConfigDscr = pHighSpeedConfigDscr;
      pOtherConfigDscr = pFullSpeedConfigDscr;
   }
   else
   {
      pConfigDscr = pFullSpeedConfigDscr;
      pOtherConfigDscr = pHighSpeedConfigDscr;
   }

   EZUSB_IRQ_CLEAR();
   USBIRQ = bmHSGRANT;
}


返回
case GD_CONFIGURATION:         // Configuration
SUDPTRH = MSB(pConfigDscr);
SUDPTRL = LSB(pConfigDscr);
break;
case GD_OTHER_SPEED_CONFIGURATION:  // Other Speed Configuration
SUDPTRH = MSB(pOtherConfigDscr);
SUDPTRL = LSB(pOtherConfigDscr);
break;
好好学习,天天向上,做一个乖宝宝。
pengenwen
禁止发言
禁止发言
  • 注册日期2003-03-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1586分
  • 威望8380点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-01-07 08:50
用户被禁言,该主题自动屏蔽!
huoxy
驱动小牛
驱动小牛
  • 注册日期2002-03-01
  • 最后登录2014-02-24
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-01-07 12:20
我认为数据还是通过EP2/EP4读写,只不过在1.1下每一个数据的大小应该为64字节,而在2.0下是512字节。

所以我认为应该

   if (EZUSB_HIGHSPEED())
   {
      pConfigDscr = pHighSpeedConfigDscr;
      pOtherConfigDscr = pFullSpeedConfigDscr;
EP6AUTOINLENH = 0x02;
EP6AUTOINLENL = 0x00;
   }
   else
   {
      pConfigDscr = pFullSpeedConfigDscr;
      pOtherConfigDscr = pHighSpeedConfigDscr;
EP6AUTOINLENH = 0x00;
EP6AUTOINLENL = 0x40;
   }
仅限于理论上,还没有来得及经过实践检验。请检验后告知。
好好学习,天天向上,做一个乖宝宝。
游客

返回顶部