上海回收西门子CPU厂家
默认管道(DefaultPipe)在设备一端来看就是端点0。主机此时发送的请求是默认地址0,端点0,虽然未分配地址的设备都是通过地址0来获取主机发来的请求,但由于枚举过程不是多个设备并行处理,而是一次枚举一个设备的方式进行,所以不会发生多个设备同时响应主机发来的请求。设备描述符的第8字节代表设备端点0的大包大小。虽然说设备所返回的设备描述符(DeviceDescriptor)长度只有18字节,但系统也不在乎,此时,描述符的长度信息对它来说是重要的,其他的瞄一眼就过了。当完成次的控制传输后,也就是完成控制传输的状态阶段,系统会要求hub对设备进行再一次的复位操作(USB规范里面可没这要求)。再次复位的目的是使设备进入一个确定的状态。
上海回收西门子CPU厂家
标准Get_Descriptor请求设备描述符(DeviceDescriptor)之后主机发送Get_Descriptor请求,读取配置描述符(ConfigurationDescriptor),字符串等,逐一了解设备更详细的信息。事实上,对于配置描述符的标准请求中,有时wLength一项会大于实际配置描述符的长度(9字节),比如255。这样的效果便是:主机发送了一个Get_Descriptor_Configuration的请求,设备会把接口描述符,端点描述符等后续描述符一并回给主机,主机则根据描述符头部的标志判断送上来的具体是何种描述符。
上海回收西门子CPU厂家
将竭诚为贵公司提供最快速、优质、热情、周到的上门服务。公司提供物流代收货款,支付宝交易等多种安全放心的交易方式,而且价格上也相当的优势。我们热情欢迎客户的每一个来电咨询,谢谢!
name:驱动的名字,如果要和设备匹配,该字段的值一般需要与设备结构体的init_name名称相匹配(其实,取决于总线的match函数)。bus:注册到哪条总线上驱动的注册和注销总线、设备、驱动的关联前面描述了总线、设备和驱动的一些基本的知识,现在我们来理清一下三者之间的关系。注册驱动或者注册设备所以说,真正的驱动函数入口是在probe函数中。当该驱动或者驱动函数正在操作的设备被移除时,内核会调用驱动函数中的remove函数调用,进行一些设备卸载相应的操作。
在讲解枚举之前,先大概说说USB的一种传输模式——控制传输。这种传输在USB中是重要的,它要数据的正确性,在设备的枚举过程中都是使用控制传输的。控制传输分为三个阶段:①建立阶段。②数据阶段。③确认阶段。建立(setup)阶段:都是由USB主机发起,它是一个setup数据包,里面包含一些数据请求的命令以及一些数据。如果建立阶段是输入请求,那么数据阶段就要输入数据;如果建立阶段是输出请求,那么数据阶段就要输出数据。如果在数据阶段,即便不需要传送数据,也要发一个0长度的数据包。数据阶段过后就是确认阶段。确认阶段刚好跟数据阶段相反,如果是输入请求,则它是一个输出数据包;如果是输出请求,则它是一个输入数据包。确认阶段用来确认数据的正确传输。