• 大小: 947KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: 其他
  • 标签: USB鼠标  

资源简介

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个文件信息

评论

共有 条评论