我想了解USB的通信原理
我知道串口通信,用个串口调试软件发送命令就可以。但是USB是怎么通信的吗,它的原理是怎样的?有跟串口调试软件差不多的USB调试软件吗。 用串口发动命令给设备,只要知道该设备命令代码就可以了。 用USB发送命令给设备是怎样的呢,是否要知道该USB的驱动程序,usb发送的命令又是怎样的呢? --------------------编程问答-------------------- http://download.csdn.net/detail/veron_04/1673828 --------------------编程问答-------------------- 买一本《微机接易做图术》(不要太旧的),上面都有对usb总线原理的介绍。 --------------------编程问答-------------------- USB与串口有很大程度上的不同,真要说起来是个很复杂的玩意,可以说单纯一两本书专门的讲述都不能表达完全的东西。因为USB技术涉及到硬件层的软硬件知识,以及系统层的驱动支持与开发使用,还有应用程序与驱动或系统接口的使用等。而且USB只是通讯用的总线协议,在驱动层可以根据这种通讯开发出很多类型的设备驱动,如摄像头、U盘、声卡、网卡、显卡、光驱、鼠标、硬盘等等等等。虽然都是USB设备,但他们只是用了USB这个通道作为数据交而已,其实主要功能还是在驱动部分进行协调设备工作的,而这种设备其实也可用网络或别的信道或总线端口进行数据交换,如PCI、串口、并口等等,当然也可以不用这种实际的通道来取得数据,如虚拟光驱、虚拟硬盘、虚拟显卡、虚拟网卡、虚拟打印机等等。所以,这种技术的关键在于硬件层的软件通讯协议以及采用标准,在PC系统里,主要的关键技术就是驱动开发或系统接口使用上,如HID设备,Windows提供了一套HID设备的API接口,如果硬件上也采用HID的通讯标准,就可以调用相关的API与这种设备进行通讯,否则只有自己写驱动搞中断去读写USB端口了。如果使用HID,连驱动都不用开发,就可以通过 HID API 对设备取出或发送相关的信息和状态。如果要玩USB,你必须要了解得更底层一点的知识,如硬件、驱动以及操作系统相关的知识,否则你很难玩出什么名堂的。还有就是最好不要用VB来玩这种东西,玩不深的,还是向C/C++或汇编靠拢去玩这些东西,因为在架构和性能上,可以得到更好的控制。 --------------------编程问答-------------------- USB 比较复杂,有很多设备类和子类。每一类的通讯协议都不同。信息是海量的。你最好先确定应用需求,选择适用的设备类,然后再有针对性地学习。
补充:VB , 控件