trison
驱动牛犊
驱动牛犊
  • 注册日期2003-12-01
  • 最后登录2005-03-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1070回复:4

请教.急!!!!!

楼主#
更多 发布于:2004-03-29 14:42
请教高手:EZ-USB AN2131Q作为默认的USB总线设备,带有三个备选项0,1,2.现在我想利用某对端点(如批传输的2IN,2OUT)传送数据,应该怎样从中选备选项1或者2?
asslittle
驱动牛犊
驱动牛犊
  • 注册日期2003-12-18
  • 最后登录2004-09-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-29 15:31

typedef struct _SET_INTERFACE_IN
{
UCHAR interfaceNum;
UCHAR alternateSetting;

} SET_INTERFACE_IN, *PSET_INTERFACE_IN;


下面是从ds提供的例子里摘出来的:
case IOCTL_EZUSB_SETINTERFACE:
{
       t << "IOCTL_EZUSB_SETINTERFACE \n";

       PSET_INTERFACE_IN  p = reinterpret_cast<PSET_INTERFACE_IN>(pBuffer);

       SA_STATUS saStatus = m_UsbInterface.SelectAlternate(p->alternateSetting);

       if( SA_SUCCESS != saStatus )
       {
 t << "Error SelectAlternate returns " << static_cast<ULONG>(saStatus) << "\n";
 status = STATUS_UNSUCCESSFUL;
       }
       else
       {
 status = STATUS_SUCCESS;
       }

       break;
}

在应用程序中选择你要的alternate setting,然后传给驱动,由上面的代码处理.
trison
驱动牛犊
驱动牛犊
  • 注册日期2003-12-01
  • 最后登录2005-03-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-29 16:14
多谢回复!!!上面的结构SET_INTERFACE_IN是在哪个文件里定义的.ds提供的例子在哪里找得到???请再赐教,不胜感激!!!!!!!
asslittle
驱动牛犊
驱动牛犊
  • 注册日期2003-12-18
  • 最后登录2004-09-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-29 17:30
看来你不是用ds开发的,本想给你贴个ddk的例子,看了一下太麻烦了,你还是自己去down一个吧.

1,去cypress的网站上down一个驱动的原码(它是用ddk开发的)
或者
2,去down一个ds,安装以后,里面有一些例子.
trison
驱动牛犊
驱动牛犊
  • 注册日期2003-12-01
  • 最后登录2005-03-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-03-30 13:56
有些明白了,多谢!
游客

返回顶部