阅读:2170回复:13
【请问】不通过驱动程序能不能访问USB设备
我是新手,大家看我的注册日期就知道啦!向各位前辈致敬先!
我想要是不通过驱动程序,能不能在自己的程序里直接跟USB设备通信? |
|
|
沙发#
发布于:2004-05-08 20:21
能。
如果你是大仙的话。 :D |
|
|
板凳#
发布于:2004-05-08 20:25
能。 呵呵,我当然不是大仙,我是一个还什么都不知道的人,只是有这样的一个想法,想尝试。 不通过驱动可以访问串口、并口,怎么就不能访问USB口呢? |
|
|
地板#
发布于:2004-05-09 13:46
谁说串口并口没有驱动?到设备管理器里看看。只不过系统自带了。
|
|
|
地下室#
发布于:2004-05-09 14:50
谁说串口并口没有驱动?到设备管理器里看看。只不过系统自带了。 谢谢大侠的指点! 大概是我没有说清楚,系统确实是自带串口、并口的驱动。而且,系统也自带usb接口的驱动(或者在计算机主板驱动盘里面有提供),这并不是问题所在。应该说是不通过连接到这些接口的外设的驱动(比如并口打印机驱动、串口手写输入板驱动,USB口扫描仪驱动),直接通过USB口跟外设通信,该怎么去做呢? |
|
|
5楼#
发布于:2004-05-09 20:37
如果你是说不用驱动而直接用WINDOWS的用户程序去通信,拜托那个方口不会知道你要干什么。系统的驱动是叫做WDM模式的分层驱动,设备驱动下是USB总线驱动(USBHUB.SYS),下边是USB总线类驱动(USBD.SYS),再下边是USB总线控制器驱动,再下边是PCI总线驱动(USB是挂再PCI上的),像网络协议一样的把任务分别完成,如果你是想自己开发一个单独的驱动,老大,你可以去微软了。
|
|
|
6楼#
发布于:2004-05-09 21:09
如果你是说不用驱动而直接用WINDOWS的用户程序去通信,拜托那个方口不会知道你要干什么。系统的驱动是叫做WDM模式的分层驱动,设备驱动下是USB总线驱动(USBHUB.SYS),下边是USB总线类驱动(USBD.SYS),再下边是USB总线控制器驱动,再下边是PCI总线驱动(USB是挂再PCI上的),像网络协议一样的把任务分别完成,如果你是想自己开发一个单独的驱动,老大,你可以去微软了。 大侠说话果然是幽默! 就像对串口、并口一样,我可以不管它们连接的是什么设备,也不管系统是否为这些设备安装了驱动,我都可以自由自在地对串口和并口进行数据的写入以及数据到达是进行读取,尽管外面的设备未必能够理解我写入的数据的意义,我也未必能理解读取到的数据的意义。 不知道对USB端口是不是也可以这样?还请大侠继续指教! |
|
|
7楼#
发布于:2004-05-11 17:19
据我所知,不行。USB总线驱动程序没有提供这样的接口直接给应用程序访问。
|
|
8楼#
发布于:2004-05-11 17:35
据我所知,不行。USB总线驱动程序没有提供这样的接口直接给应用程序访问。 谢谢你的回复! 我看到有USB view能够列举出所有的usb接口以及相连的usb设备(如果有)的一些属性,很想知道是怎么实现的。注册表里也能找到,但是我是通过搜索找到的,不知道如何可以列举。而且,注册表里面提供的usb接口的信息很少,远远不及usb view提供的详细。还有,注册表里没有找到usb接口是否已经有设备连接以及连接的设备的信息。 |
|
|
9楼#
发布于:2004-05-12 15:24
这个问题是不是跟别人的问题重复了啊?USB太难了。
|
|
|
10楼#
发布于:2004-05-12 16:25
好像可以的,只要及其能够识别到你用的usb芯片就可以,也就是说你要用常见的usb控制芯片。
|
|
11楼#
发布于:2004-05-13 15:49
USBVIEW通过USB总线只能得到一部分信息。如果没有驱动的支持,其他的一些信息还是不能得到,如配置等,设备都不能正常工作,那当然就不能用应用程序去通信了。
|
|
|
12楼#
发布于:2004-05-13 17:44
USBVIEW通过USB总线只能得到一部分信息。如果没有驱动的支持,其他的一些信息还是不能得到,如配置等,设备都不能正常工作,那当然就不能用应用程序去通信了。 非常感谢mingge一直以来的热心帮助! 没有设备驱动程序确实设备不能正常工作,不过我特别想知道的是在应用程序中如何通过USB总线得到USB接口信息以及USB设备的部分信息,希望你继续帮忙!我用的是VC开发,其实什么语言来实现都可以。这个论坛里大家似乎都提到分,我好像也有一些分,你要是喜欢就拿去好了。 |
|
|
13楼#
发布于:2004-05-14 00:32
事实上是可以,不过你要用主控(HOST)功能的USB芯片,然后你要控制这个HOST去产生相应的请求与传输过程与USB设备通信,在嵌入式应用中用得比较多,可以带操作系统的,或者是单一的无操作系统的程序。或者如前楼上几位所说,你可以自己专门写一个大的相当于整个系统的程序,专门去和设备通信,哈
另外:那个WINDOWS下的USBVIEW其实也用了驱动,USBDIAG.SYS,顾名思义,就是专门的调试用的驱动,只会与USB设备实现基本的配置与请求,具体的功能,就要用回设备的专门驱动了。 |
|