资源简介
1、压缩包中包含了由盛唐公司研制的USB_D12开发评估板实现USB鼠标的全部源代码
2、源代码中的U_Mouse.C文件实现了数据通讯的协议,Chap_9.C含有鼠标枚举所需的各种描述符。
3、上述文件实为USB接口芯片D12开发的经典参考资料及制作USB鼠标的极佳参考原型。
4、阅读源程序前务必先阅读开发评估板的使用说明书各评估板的电路原理图,方能快速理解源程序。
5、需要USB鼠标的底层驱动程序的开发者请与作者联系。
代码片段和文件信息
#include “..\..\Driver\inc\includes.h“
#include “mainloop.h“
#include “usb100.h“
#include “chap_9.h“
#define NUM_ENDPOINTS 4
#define CONFIG_DEscriptOR_LENGTH 34
extern CONTROL_XFER ControlData;
extern IO_REQUEST idata ioRequest;
extern EPPFLAGS bEPPflags;
/*
unsigned char code Keyboard_DeviceDescriptor[] = {
18 1 // Length Type
0x10 1 // USB Rev 1.1 (=0110H low=10H High=01H)
0 0 0 // Class Subclass and Protocol
EP0Size // EP0 size
0x42 0x42 0 2 0 0 // Vendor ID Product ID and Version
1 0 0 // Manufacturer Product & Serial# Names
1 // #Configs
};
unsigned char code Keyboard_ConfigurationDescriptor[] = {
9 2 // Length Type
34 0
1 1 0 // #Interfaces Configuration# Config. Name
0xa0 // Attributes = Bus Powered & Remote Wakened
50 // Max. Power is 50x2 = 100mA
};
unsigned char code Keyboard_InterfaceDescriptor[] = {
9 4 // Length Type
0 0 1 // No alternate setting HID uses EP1
3 // Class = Human Interface Device
1 1 // Subclass and Protocol
0 // Interface Name
};
unsigned char code Keyboard_HIDDescriptor[] = {
9 0x21 // Length Type
0 1 // HID Class Specification compliance
0 // Country localization (=none)
1 // Number of descriptors to follow
0x22 // And it‘s a Report descriptor
63 00
};
unsigned char code Keyboard_EndpointDescriptor[] = {
7 5 // Length Type
0x81 // Address = IN 1
0x03 // Interrupt
EP0Size 0 // Maximum packet size
10 // Poll every 10 msec (OS will round down to 8)
};
unsigned char code Keyboard_ReportDescriptor[] = { // Generated with HID Tool copied to here
5 1 // Usage_Page (Vendor Defined)
9 6 // Usage (I/O Device)
0xa1 1 // Collection (Application)
0x05 07
0x19 0xe0 // Usage_Minimum
0x29 0xe7 // Usage_Maximum
0x15 0 // Logical_Minimum (0)
0x25 1 // Logical_Maximum (1)
0x75 1 // Report_Size (1)
0x95 8 // Report_Count (8)
0x81 2 // Input (DataVarAbs)
0x95 0x01
0x75 0x08
0x81 0x01
0x95 0x05
0x75 0x01
0x05 0x08
0x19 0x01
0x29 0x05
0x91 0x02
0x95 0x01
0x75 0x03
0x91 0x01
0x95 0x06
0x75 0x08
0x15 0x00
0x25 0x65
0x05 0x07
0x19 0x00 // Usage_Minimum
0x29 0x65 // Usage_Maximum
0x81 0x00 // Output (DataVarAbs)
0xc0 // End_Collection
};
*/
//设备描述符
code USB_DEVICE_DEscriptOR DeviceDescr =
{
18 1 // Length Type
0x1001 // USB Rev 1.1 (=0110H low=10H High=01H)
0 0 0 // Class Subclass and Protocol
16 // EP0 size
0x4242 0x0003 0x0000 // Vendor ID Product ID and Version
0 0 0 // Manufacturer Product & Serial# Names
1
};
//配置描述符
code USB_CONFIGURATION_DEscriptOR ConfigDescr =
{
9 2 // Length Type
0x2200
1 1 0 // #Interface
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-01-07 14:20 USB鼠标\
目录 0 2013-01-07 14:20 USB鼠标\Keil\
目录 0 2013-01-07 14:20 USB鼠标\Keil\App\
目录 0 2013-01-07 14:20 USB鼠标\Keil\App\D12_UMouse\
文件 12615 2006-08-04 18:05 USB鼠标\Keil\App\D12_UMouse\Chap_9.c
文件 1308 2006-07-18 11:17 USB鼠标\Keil\App\D12_UMouse\chap_9.h
文件 1305 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\D12试验板硬件_Lib.Opt
文件 2203 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\D12试验板硬件_Lib.Uv2
文件 2372 2006-08-17 16:42 USB鼠标\Keil\App\D12_UMouse\D12试验板硬件_Lib_Uv2.Bak
文件 6599 2006-07-27 11:07 USB鼠标\Keil\App\D12_UMouse\Isr.c
文件 6160 2006-07-27 14:23 USB鼠标\Keil\App\D12_UMouse\MAINLOOP.H
目录 0 2013-01-07 14:20 USB鼠标\Keil\App\D12_UMouse\Obj\
文件 9542 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\Obj\APIComm.lst
文件 19880 2007-04-16 15:20 USB鼠标\Keil\App\D12_UMouse\Obj\APIComm.obj
文件 47984 2007-05-30 10:19 USB鼠标\Keil\App\D12_UMouse\Obj\Chap_9.obj
文件 7863 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\Obj\Com.lst
文件 19064 2007-04-16 15:20 USB鼠标\Keil\App\D12_UMouse\Obj\Com.obj
文件 13016 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\Obj\D12ci.lst
文件 31972 2007-04-16 15:20 USB鼠标\Keil\App\D12_UMouse\Obj\D12ci.obj
文件 16070 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\Obj\D12试验板硬件驱动.LIB
文件 660 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\Obj\D12试验板硬件驱动.plg
文件 5219 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\Obj\DriverTime.lst
文件 16448 2007-04-16 15:20 USB鼠标\Keil\App\D12_UMouse\Obj\DriverTime.obj
文件 3836 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\Obj\Epphal.lst
文件 16464 2007-04-16 15:20 USB鼠标\Keil\App\D12_UMouse\Obj\Epphal.obj
文件 42992 2007-05-30 10:19 USB鼠标\Keil\App\D12_UMouse\Obj\Isr.obj
文件 5328 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\Obj\Key.lst
文件 17033 2007-04-16 15:20 USB鼠标\Keil\App\D12_UMouse\Obj\Key.obj
文件 3599 2006-08-17 16:45 USB鼠标\Keil\App\D12_UMouse\Obj\Led.lst
文件 15940 2007-04-16 15:20 USB鼠标\Keil\App\D12_UMouse\Obj\Led.obj
文件 35368 2007-05-30 10:20 USB鼠标\Keil\App\D12_UMouse\Obj\Protodma.obj
............此处省略70个文件信息
评论
共有 条评论