哪位高手知道若几个应用程序同时访问一个USB设备会怎样?应如何处理?谢谢!
回复(18) 2003-09-22 15:21 来自版块 - USB驱动开发
表情
linshuhua好象没有问题。 刚刚试了一下,用2个程序,一个是demo板带的,一个是我写的,都可以用,而且我的程序发的数据,demo板的可以收到,没有问题。 不知道,这么理解对否? 我也做了该方面的测试(虚拟驱动),一个a异步读,另一个b同步写,b写的记录,a可以读...(2003-10-09 09:25)
dragon_hn受益匪浅!系统老是显示我没登陆,不知道怎么给分,等好了我再给各位分吧,谢谢各位! 不好意思,好像只能给一次分,而且我有80分系统只允许我最多给10分,因此很多回答也很好的不能给分,想多给点也不行,总之谢谢各位了,还往各位今后不吝指教 [编辑 - 10/9/03 by dr...(2003-10-08 15:08)
usb_anywhere对于这个问题,我想说一下,因为USB的上下位机我都是一行一行代码写过来的,其实多个应用程序在上位机对同一个设备操作,对于上位机来说没什么问题,前面rayyang2000说的是对的。对于下位机,大部分下位机也就是我们要用到的usb设备大部分都是不支持多任务的,或者说大部分都是裸机跑...(2003-10-08 11:21)
custjcyre:如果他们同时向驱动发送不同的任务,驱动将其发向USB总线U,SB固件如何识别他们是哪一个进程发来的呢,如果不识别会不会乱套? 驱动程序(有些驱动不提供这样的功能)会将任务排成一个队列,依次向下发送到固件,所以固件不会遇到要同时处理两个任务的情况。但是固件无法知道它正在...(2003-10-07 22:00)
dragon_hn根据我的理解,DLL在每个进程调用的时候是在内存中作一个拷贝,所以很多应用程序调用同一DLL不会出现问题,是因为他们都是在调用自己的DLL(原DLL在内存中的拷贝)。而USB不同,如果你同时运行同一个应用程序的两个进程,这两个进程当然访问USB的方式是相同的,但可能在执行不同的任...(2003-10-07 09:39)
rayyang2000一般来说,在driver里面,MS的driver会把packets给serial,保证每个packet/urb都是按照submit的先后而传输,这可以看作是物理层面;而我们在应用的时候,往往有自己的协议,可以看作是逻辑层(类似ISO),如果要保证这个层的数据的连续,当然要靠自己的...(2003-10-07 03:00)
clementzhao我感觉对于同一设备的访问驱动会用不同的标式,每个应用程序有各自机制,是并行的。当你使用某一程序时,打开自有的通道,别的通道是Lock的。当你同时使用多个程序访问同一设备,它会自动识别,数据也会发到各程序仲。正如经常使用的busbound,我们在使用usb时,它也会识别到usb不同...(2003-09-30 09:11)
lvgx_9 好像驱动程序里面有个“共锁”机制吧。翻翻驱动程序的书。(2003-09-29 22:22)
kermitUSB有提供多个应用程序访问同一个device的功能。要想做到符合USB的标准,就需要用到Interface。具体做法是在描述符里做成 一个device,一个configuration, 多个Interface。 这样操作系统会根据你的Interface给你返回不同的句柄。 例...(2003-09-29 11:35)
wangxin_china我刚开发USB,看了一些资料,不过还没有动手,我想这和WINDOWS处理消息有一样的机制,多个应用程序发出对单个设备的操作请求,在驱动层,WINDOWS会将这些请求打包并序列化,然后依次发送给物理设备,但是在应用程序看来,大家都在一起运行一样. 不知道我理解的对不对?高手来...(2003-09-25 10:21)

返回顶部