上一页 1 ··· 173 174 175 176 177 178 179 180 181 ··· 191 下一页
摘要: 前面已经介绍设置USB的设备地址,接着下来是做什么呢?其实有了设备地址后,主控器还会再次发送获取上面已经读取的设备描述符下来,如下:80 06 00 01 00 00 12 00 然后USB设备也再次回应它,但这次发送的长度是0x0012了,不再是第一次64个字节长度了。接着USB设备就返回下面的描述符给主控器,也就是第一次已经发送的设备描述符,如下:12 01 10 01 00 00 00 40 00 80 00 80 00 01 04 2C 4A 01这样分配地址之后,再次获取设备描述符成功了,接着下来就是主控器获取配置描述符。下面就是收到的配置描述符数据:80 06 00 02 00 0 阅读全文
posted @ 2007-04-23 13:23 ajuanabc 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 前面已经解释主控器怎么样发送设备描述符下来,然后设备返回相应的设备描述符。下一步主控器的动作是做什么呢?由于在USB总线上的设备有很多,为了区分不同的设备通讯,就需要给每个设备分配一个地址,这跟网络中的IP地址是一样的,或者跟MAC地址也是一样的。因而,接着下来就是主控器分配地址给设备,USB的设备地址是从1开始到127。下面就是接收到主控器发下来的数据包:00 05 01 00 00 00 00 00 由USB_SETUP_PACKET定义具体地分析这个数据,就可以知道应做什么样的响应了。下面就来解释这个操作。先取得bmRequestType的类型,也就是第一个字节,它是00。从USB协议里 阅读全文
posted @ 2007-04-18 13:50 ajuanabc 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 随着时间流驶,进入二十一世纪了。数字化的年代变化也越来越快,10年前的梦想,到现在已经越来越变成现实。在最为关注的计算机技术里,也让人最关心的就是CPU。无论是销售商,还是个人用户,都在讨论自己的电脑是多少G的年代。CPU的主频在步步高升,从当初的5M到目前3G多。那么CPU的主频还会提高吗?会超过4G的吗?这个疑问随着CPU的老大INTEL公司没有推出4G的CPU,也说明了CPU已经进入了极限的年代,4G是目前的CPU极限了。当然这里指的4G是普通条件下的4G,而不是带着几百斤极端散热器的工作条件的4G。虽然单个CPU的主频已经到了极限,但摩尔定律还在发挥作用,说明晶体管的数目还在不断地增加 阅读全文
posted @ 2007-04-17 12:38 ajuanabc 阅读(169) 评论(0) 推荐(0) 编辑
摘要: bcdUSB是USB发布的协议版本。也就是本设备能适用于那种协议,目前USB主要有两个版本,一个是1.10,一个是2.10版本。在本设备里,采用了1.10的协议版本。由于这个字段是采用BCD编码,所以1.10的表示为0x0110的格式,按小端格式输出来,就变成10 01的显示了。bDeviceClass是设备分类。当它的值是0时,表示所有接口在配置描述符里,并且所有接口是独立的。当它的值是1到FEH时,表示不同的接口关联的。当它的值是FFH时,它是厂商自己定义的。在这个设备里,是定义为0。bDeviceSubClass是设备子分类码。当前面的bDeviceClass值是0时,这里一定要设置为0 阅读全文
posted @ 2007-04-13 14:27 ajuanabc 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 回应设备描述符上一次已经介绍怎么样收到主控器的获取设备描述符的数据,这里就解释怎么样发送回应数据给主控器。先从USB协议里找到标准设备的定义,我把它用C语言定义如下:typedef struct _USB_DEVICE_DESCRIPTOR {BYTEbLength;BYTEbDescriptorType;WORDbcdUSB;BYTEbDeviceClass;BYTEbDeviceSubClass;BYTEbDeviceProtocol;BYTEbMaxPacketSize0;WORDidVendor;WORDidProduct;WORDbcdDevice;BYTEiManufacturer 阅读全文
posted @ 2007-04-12 13:36 ajuanabc 阅读(185) 评论(0) 推荐(0) 编辑
摘要: wValue是根据不同的请求而设置不同的值。一般就是传送参数给设备标明这是什么请求。在上面GET_DESCRIPTOR获取设备描述符里,它的值是00 01。在GET_DESCRIPTOR里这个字段的低字节表示描述符的索引,高字节表示描述符的类型。高字节的类型如下:DEVICE 1CONFIGURATION 2STRING 3INTERFACE 4ENDPOINT 5DEVICE_QUALIFIER 6OTHER_SPEED_CONFIGURATION 7INTERFACE_POWER1 8wValue值在这里的高字节是01,那么它就是设备描述符了。低字节是00,那么它就是表示从偏移地址0开始读 阅读全文
posted @ 2007-04-11 18:03 ajuanabc 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 设备描述符配置包在USB通讯里,从主控器发出来的第一个配置包就是设备描述符配置包,目的只有一个,就是获取插入的USB属性,以便加载合适的驱动程序。现在就来详细地分析一下设备描述符包的定义。在USB2.0的协议里找到9.3 USB Device Requests里就找到这个结构的定义,这里我使用C的定义结构如下:typedef struct _USB_SETUP_PACKET {REQUEST_TYPE bmRequestType;BYTE bRequest;WORD_BYTE wValue;WORD_BYTE wIndex;WORD wLength;} USB_SETUP_PACKET;bmR 阅读全文
posted @ 2007-04-10 13:45 ajuanabc 阅读(161) 评论(0) 推荐(0) 编辑
摘要: <!--#includefile="inc/conn.asp"--><%dimi,intPage,page,pre,last,filepathsetrs=server.CreateObject("adodb.recordset")sql="select*fromproduct"rs.PageSize=12rs.CursorLocation=3rs.Opensql,conn,0,2,1pre=truelast=truepage=trim(Request.QueryString("page"))ifl 阅读全文
posted @ 2007-04-02 10:54 ajuanabc 阅读(209) 评论(0) 推荐(0) 编辑
摘要: <LINKhref="1/p7tp_08.css"type=text/cssrel=stylesheet><LINKhref="1/ziti.css"type=text/cssrel=stylesheet><SCRIPTsrc="1/p7tpscripts.js"type=text/javascript></SCRIPT><TABLEcellSpacing=2cellPadding=2width=480border=0><TBODY><TR><T 阅读全文
posted @ 2007-04-01 11:39 ajuanabc 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 三级树形菜单,之前有发过一个那个和这个还是有区别的.表结构仍然是我一直发的那样的.注意,不能打开二级类就是说只能打开大类和三级类.当有类别无三级类时候,就不适用了.<!--#includefile="inc/conn.asp"--><TABLEwidth=190><TR><TDwidth="100%"><%setrsBigClass1=server.CreateObject("adodb.recordset")rsBigClass1.open"Select*FromBig 阅读全文
posted @ 2007-03-29 22:06 ajuanabc 阅读(258) 评论(0) 推荐(0) 编辑
上一页 1 ··· 173 174 175 176 177 178 179 180 181 ··· 191 下一页