lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1900回复:14

高手帮帮忙,我用driverstudio按照《10分钟完成usb驱动〉的程序不能执行???

楼主#
更多 发布于:2002-06-24 15:25
我插上硬件后执行程序,发现下句有问题:
hDevice = OpenByInterface( &ClassGuid, 0, &Error);
hDevice为无效。
还有文中所用的硬件有什么要求?其中的LED怎么接???
我的系统以前是采用windriver的驱动,现在想用driverstudio写,不知该怎么做,望前辈指点迷津,不胜感激。
lake
驱动小牛
驱动小牛
  • 注册日期2001-09-04
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-24 15:32
你的vid和pid设的对吗,
lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-24 15:36
我的vid和pid使用的在windriver的wizard中插上设备自动提供的,而且我的原来的驱动就用的这个vid和pid。
lake
驱动小牛
驱动小牛
  • 注册日期2001-09-04
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-24 15:44
你可以用usbview测试一下usb板的参数,看看是不是endpoint等有什么错误
lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-24 15:57
通过usbview察看如下:
Device Descriptor:
bcdUSB:             0x0110
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x08 (8)
idVendor:           0x1965
idProduct:          0x0118
bcdDevice:          0x0001
iManufacturer:        0x01
iProduct:             0x02
iSerialNumber:        0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x00
Device Bus Speed:      Low
Device Address:       0x02
Open Pipes:              0
怎么看有没有问题呢?我在driverstudio驱动程序中只用了endpoint0,而且用以前的驱动该端点没有问题。帮我分析一下吧!

lake
驱动小牛
驱动小牛
  • 注册日期2001-09-04
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-06-24 16:16
下面是我的USB参数,你可以参考一下:
Device Descriptor:
bcdUSB:             0x0101
bDeviceClass:         0x07
bDeviceSubClass:      0x01
bDeviceProtocol:      0x02
bMaxPacketSize0:      0x10 (16)
idVendor:           0x0B3D
idProduct:          0x0001
bcdDevice:          0x0100
iManufacturer:        0x01
iProduct:             0x02
iSerialNumber:        0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x02
Open Pipes:              2

Endpoint Descriptor:
bEndpointAddress:     0x02
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00

Endpoint Descriptor:
bEndpointAddress:     0x82
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00
--------------------------------------
你的PIPE没有一个打开,可能有些不对吧
我不知道你用的是什么芯片,
我记得好像ENDPOINT0是CONTROL OUT OR IN,
lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-06-24 16:33
我用的是cy7c63001a,我在生成驱动程序时,在添加endpoint的步骤中我直接选择next,而没有像文章中那样添加了2个endpoint,lake老兄,是和这个有关系么?多谢指点。
lake
驱动小牛
驱动小牛
  • 注册日期2001-09-04
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-06-24 17:04
ENDPOINT是在读写过程中必须的,不过我不知道为什么你连句柄都没有打开(句柄打开还没用到ENDPOINT),而且你的USBVIEW也查出有设备的存在,你先看一下你的*.INF中的VID和PID是否和USBVIEW介绍的一样,然后在查开你的设备管理器是否在设备插上后出现设备标志,如果设备不存在,说明你的设备连结有问题,(关机从起试一试,或者从新用向导作一下,也许错误就在其中)
czhui_zhui
驱动牛犊
驱动牛犊
  • 注册日期2002-05-09
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-06-24 20:37
楼上两位大哥,您们谈的问题我还未能做到,因为在进行CPP文件Compile时出现了“Command line error D2027 : cannotexecute \'c1xx\'
Error executing cl.exe.”的提示,请问是什麽原因?

lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-06-25 09:58
这整个系统对硬件和固件有什么要求?lake兄你的调通了是吧?你能告诉我你的系统硬件和固件大约是什么?
lake
驱动小牛
驱动小牛
  • 注册日期2001-09-04
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-06-25 12:10
我用的芯片是pdiusbd12,endpoint2->bulk,其他的也没什么,如果你的usbview能测出来,那你的硬件应该没有问题的吧!你的设备管理器没有出现你要的设备吗? :(
lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-06-25 12:26
设备管理器是有我的设备符号,是不是因为我装过windriver驱动呢?
lake
驱动小牛
驱动小牛
  • 注册日期2001-09-04
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-06-25 14:45
如果你装过以前的驱动,那么一定要卸载或更新,如果你装的是driverwork下的*.inf,此文件有没有改,那么设备标志应该是\"your company here\"之类的长东西,如果你以前的没有卸载,注册表当然要以前的驱动啦 :D
lucy_huiminz
驱动小牛
驱动小牛
  • 注册日期2002-06-18
  • 最后登录2009-02-11
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-06-26 08:52
lake兄,我已经调通了,谢谢你,我把分给你了,不过在装好后程序只出现一个DOS界面,然后就退出了,我看了一下程序,是不是要修改程序才能实现对硬件的读写呀?
lake
驱动小牛
驱动小牛
  • 注册日期2001-09-04
  • 最后登录2004-11-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-06-26 09:02
在dos方式下,输入:  test_* r read_number w write_number <return>
游客

返回顶部