EDN首页   博客首页

日志档案

发表于 2008-3-14 14:43:59

7

标签: Computer00  自定义  USB  设备  驱动程序  

Computer00's USB设备的驱动程序

下载Computer00's USB设备的驱动:

下载地址1:rar

下载地址2:rar

下载地址3:Computer00USB驱动.rar

本驱动程序是Computer00's USB设备的驱动。Computer00's USB设备
是圈圈在EDN USB学习板上实现的厂商自定义类设备。它具有4个端点:
中断输出端点1(最大包长16字节)、中断输入端点1(最大包长16字节)、
批量输出端点2(最大包长64字节)、中断输入端点2(最大包长64字节)。
安装本驱动程序的VID为8888,PID为0088,这些ID是圈圈作为私人学习
使用,请勿作为商业使用,否则后果自负。

    本驱动的GUID如下,应用程序可以通过GUID打开该设备。
{0xA2CBE209,0x7A8B,0x44B4,{0x94,0xE7,0xCD,0x45,0x4A,0x42,0x7F,0x11}}
对4个端点操作可以使用IoControl,IoControl代码分别如下:
读端点1:0x80002001,写端点1:0x80002006;
读端点2:0x80002009,写端点2:0x8000200e。
也可以使用ReadFile和WirteFile对端点2进行读写操作。
注意在使用读操作时,提供的缓冲区最好能够大于等于最大包长,否则
当设备返回的数据大于提供的缓冲区时,将导致设备数据无法返回,这
时需要停用设备然后重新再启用。所有操作有超时限制,超时时间为1s。
当USB设备在1s之内都不能接收数据或者返回数据,驱动程序将超时返回,
这时返回的实际传输字节数为0,应用程序可以通过它来确认是否读写成功。

    本驱动程序仅在Intel处理器、Windows XP环境下进行过测试,可能
存在着不兼容问题。

    本驱动程序的作者电脑圈圈保留所有版权,仅供学习使用,未经作者
许可,不得私自用于其它用途。

                                   Computer00 2008.03.14

看看我的应用程序界面:

点击看大图

系统分类: 软件开发   |   用户分类: WDM驱动开发   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(952)    回复(9)  

投一票您将和博主都有获奖机会!

  • jizzll

    2008-3-14 16:33:31

    qiang啊

  • andyzhu9

    2008-3-17 8:47:31

    thanks

  • andyzhu9

    2008-3-17 12:55:35

    期待source code

  • computer00

    2008-3-17 13:24:15

    嘿嘿,今天刚上传了应用程序的源代码... 明天再上传驱动的源代码。

  • andyzhu9

    2008-3-18 14:43:53

    等待中

  • fisher

    2008-3-19 16:51:32

    你的application和driver我已经装好了,修改descriptor,板子插上usb cable可以识别“电脑圈圈的USB设备”,说明枚举成功。接下来就是继续完成firmware,使得可以和application的其他功能按钮配套使用。 但是我在用usb分析仪抓usb总线上的数据流的时候发现: 除了点击"LEDi"和"KEYi"是对ADDR2(set address时定义的)的ENDP1进行IN token的操作,点击“接收数据”也一样。 只有点击“发送数据”才是对ADDR2的ENDP2进行OUT token的操作阿。 但是你的说明文档中不是规定用endpoint2进行bulk的in/out么? 是不是以上我的理解有了偏差,或者能不能提供详细的接口说明,老是蓝屏。。。谢谢

  • computer00

    2008-3-19 20:23:06

    不会吧?我的固件都运行正确了啊。LED和KEY是通过端点1,而串口输出是通过端点2的,这个你可以看我的固件代码。至于bus hound的数据,有抓错的可能。至于为什么蓝屏,我暂时还没找到原因。接口说明就是上面那些啊,还需要哪些信息呢?

  • 陈生

    2008-4-2 14:16:02

    非常感谢

  • tanly8236

    2008-5-15 19:09:53

    這個真是強啊,幫你頂了~!