USB设备,按照相关的协议规定,被分成几个大的类型,比如:
人机接口类: HID设备(典型设备例子:键盘/鼠标/数字化仪等) 通信类: CDC设备(典型设备例子:把USB模拟成一个RS232或RS485串口等) 海量存储类: MassStorage设备(典型设备例子: 油盘)
不同的设备类,在设备端有不同的描述符(每大类设备各自的描述符本身又分成好多种[设备描述符,端口描述符,...], 呵呵,复杂的DD,这是USB协议的核心),对应的设备驱动程序当然也完全不同; 所以首先LZ应确定,你准备实现的设备属于哪个设备类???然后,去芯片娘家的网上找对应类的样例代码(代码中肯定会包括对应的若干个描述符,以及相关的程序代码).找好以后,结合注释,适当修改一下,一般就行了.
在PC端,对应不同类的设备,一般有通用的驱动程序,而且,很多都是自动识别/安装的,一般不需要自己写, 使用通用驱动程序的前提条件是: 你的设备,确实满足USB协议的严格要求.
|