takaya
驱动小牛
驱动小牛
  • 注册日期2002-02-10
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1670回复:6

请高手来看一看,特别是plasma,关于D12枚举的问题.

楼主#
更多 发布于:2002-05-22 22:39
我用了plasma的程序,把设备插到PC后,WIN2000报找到未知USB设备,然后就自动用了usb.inf而且usb.inf不能正常安装.如果更新驱动程序,系统会说找到一个比我选择的那一个更好,但还是usb.inf.我的PID和VID都改成了f0f0,f0f0.
我的驱动程序是由DS生成的,没有实际内容,但也不应该装不上呀.而且居然连INF文件都不认,估计是PID和VID没有读出来,请高手指教一下.
我是只可爱的小猫咪,高枕无忧................................. QQ:2745071
plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-23 14:46
将PID和VID改成usb.inf中没有的,可以察看usb.inf文件。
takaya
驱动小牛
驱动小牛
  • 注册日期2002-02-10
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-23 14:53
我今天试了一下,问题在设备这边.
当设备连到主机时,D12发出了一个中断,然后我的fireware读出中断寄存器后,不能清0.
void D12_int()
{

        XmtBuff.pNum = 16;
D12_COMMAND = 0xf4;// 读中断寄存器
ist = D12_DATA;
//在这里ist为0x01

if(ist & 0x01)    //ENDP0_OUT
{
XmtBuff.out = 0;
XmtBuff.in  = 1;
D12_COMMAND = 0x40; //读 OUT 最后状态
ist= D12_DATA; //###这里还是为0x01, 好像上一个0x40的指令没起作用.


plasma在吗?可以用QQ交流一下吗?2745071

 
我是只可爱的小猫咪,高枕无忧................................. QQ:2745071
plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-23 19:58
我申请QQ,用了好多时间也没行!

关于调试,需不断插拔USB口,设断点,一步运行到断点处,再看结果!
takaya
驱动小牛
驱动小牛
  • 注册日期2002-02-10
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-24 09:58
我在不同的地方设了断点.发现D12根本就没有发出收到setup包的信号.
下面这个函数总共进入了8次,但ist的内容很奇怪
void D12_int()
{

        XmtBuff.pNum = 16;
D12_COMMAND = 0xf4;// 读中断寄存器
ist = D12_DATA;
第一次:ist=0x80
2:ist=0x01
3:ist=0x80
4:ist=0x40;
5:ist=0x40;
6:ist=0x01;
7:ist=0x80

即使在ist=0x01时,
下面一条语句

if(ist & 0x01)    //ENDP0_OUT
{
XmtBuff.out = 0;
XmtBuff.in  = 1;
D12_COMMAND = 0x40; //读 OUT 最后状态
ist= D12_DATA;

ist始终等于0x01
我是只可爱的小猫咪,高枕无忧................................. QQ:2745071
plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-24 19:56

D12_COMMAND = 0x40; //读 OUT 最后状态
ist= D12_DATA;

SETUP_read();
社断点!
takaya
驱动小牛
驱动小牛
  • 注册日期2002-02-10
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-05-25 09:13
试过了.始终是0x01
我是只可爱的小猫咪,高枕无忧................................. QQ:2745071
游客

返回顶部