CC2540 USB HID设备类型
想利用CC2540写一个HID与PC通信的demo测试,修改了usb_hid_descriptor.s51这个文件里面的描述符,在CC2540USB AdvRemoteDongle这个工程上改的,现在已经修改成1个设备,但是设备一直是键盘,没有办法改成其他设备类型,很奇怪,描述符已经改好了,还是这样,附上代码,有懂的大神还望解答!谢谢
/***********************************************************************************
Filename: usb_hid_descriptor.s51
Description: USB descriptor for HID-devices.
***********************************************************************************/
#define ASM_FILE
#include "../library/usb_descriptor.h"
MODULE usb_descriptor
RSEG RCODE
PUBLIC usbDescStart;
PUBLIC usbDescEnd;
PUBLIC deviceDesc;
PUBLIC configDesc;
PUBLIC interface0Desc;
PUBLIC interface1Desc;
PUBLIC interface3Desc;
PUBLIC endpoint0Desc;
PUBLIC endpoint2Desc;
PUBLIC endpoint5Desc;
PUBLIC hid0Desc;
PUBLIC hid1Desc;
PUBLIC hid3Desc;
PUBLIC entity0Desc;
PUBLIC entity1Desc;
PUBLIC entity3Desc;
PUBLIC entity0DescEnd;
PUBLIC entity1DescEnd;
PUBLIC entity3DescEnd;
PUBLIC string0Desc;
PUBLIC string1Desc;
PUBLIC string2Desc;
PUBLIC string3Desc;
PUBLIC usbDescLut;
PUBLIC usbDescLutEnd;
PUBLIC usbDblbufLut;
PUBLIC usbDblbufLutEnd;
;;-------------------------------------------------------------------------------------------------------
;; USB descriptors
usbDescStart:
deviceDesc: ; Device descriptor
DB deviceDescEnd - deviceDesc ; bLength
DB DESC_TYPE_DEVICE ; bDescriptorType
DW 0200H ; bcdUSB (USB 2.0)
DB 00H ; bDeviceClass (given by interface)
DB 00H ; bDeviceSubClass
DB 00H ; bDeviceProtocol
DB EP0_PACKET_SIZE
DW 0451H ; idVendor (Texas Instruments)
DW 16B4H ; idProduct (CC2540 HID)
DW 0100H ; bcdDevice (v1.0)
DB 01H ; iManufacturer
DB 02H ; iProduct
DB 03H ; iSerialNumber
DB 01H ; bNumConfigurations
deviceDescEnd:
config1LengthStart:
configDesc: ; Configuration descriptor
DB configDescEnd - configDesc ; bLength
DB DESC_TYPE_CONFIG ; bDescriptorType
DW config1LengthEnd - config1LengthStart ; wTotalLength
DB 03H ; bNumInterfaces
DB 01H ; bConfigurationValue
DB 00H ; iConfiguration
DB 0xA0 ; bmAttributes (bit 5 remote wakeup)
DB 25 ; bMaxPower (max 2 * 25 = 50 mA)
configDescEnd:
interface0Desc: ; Keyboard interface descriptor
DB interface0DescEnd - interface0Desc ; bLength
DB DESC_TYPE_INTERFACE ; bDescriptorType
DB 00H ; bInterfaceNumber
DB 00H ; bAlternateSetting (none)
DB 01H ; bNumEndpoints
DB 03H ; bInterfaceClass (HID)
DB 01H ; bInterfaceSubClass (Boot)
DB 01H ; bInterfaceProcotol (Keyboard)
DB 00H ; iInterface
interface0DescEnd:
hid0Desc: ; Keyboard HID descriptor
DB hid0DescEnd - hid0Desc ; bLength
DB DESC_TYPE_HID ; bDescriptorType
DW 0111H ; bcdHID (HID v1.11)
DB 00H ; bCountryCode (not localized)
DB 01H ; bNumDescriptors
DB DESC_TYPE_HIDREPORT ; bDescriptorType
DW entity0DescEnd - entity0Desc ; wDescriptorLength
hid0DescEnd:
endpoint0Desc: ; Keyboard endpoint descriptor (EP1 IN)
DB endpoint0DescEnd - endpoint0Desc ; bLength
DB DESC_TYPE_ENDPOINT ; bDescriptorType
DB 81H ; bEndpointAddress
DB EP_ATTR_INT ; bmAttributes (INT)
DW 0008H ; wMaxPacketSize
DB 0AH ; bInterval (10 full-speed frames = 10 ms)
endpoint0DescEnd:
interface1Desc: ; Consumer interface descriptor
DB interface1DescEnd - interface1Desc ; bLength
DB DESC_TYPE_INTERFACE ; bDescriptorType
DB 01H ; bInterfaceNumber
DB 00H ; bAlternateSetting (none)
DB 01H ; bNumEndpoints
DB 03H ; bInterfaceClass (HID)
DB 00H ; bInterfaceSubClass (None)
DB 54H ; bInterfaceProcotol (Don't Care)
DB 00H ; iInterface
interface1DescEnd:
hid1Desc: ; Consumer HID descriptor
DB hid1DescEnd - hid1Desc ; bLength
DB DESC_TYPE_HID ; bDescriptor
DW 0111H ; bcdHID (HID v1.11)
DB 00H ; bCountryCode (not localized)
DB 01H ; bNumDescriptors
DB DESC_TYPE_HIDREPORT ; bDescriptorType
DW entity1DescEnd - entity1Desc ; wDescriptorLength
hid1DescEnd:
; Add output end-point if necessary (e.g., LED output)
; Note that uncommenting the following block itself do not enable output
; the end-point.
;endpoint1Desc: ; Keyboard endpoint descriptor (EP1 OUT)
; DB endpoint1DescEnd - endpoint1Desc
; DB DESC_TYPE_ENDPOINT ; bDescriptorType
; DB 01H ; bEndpointAddress
; DB EP_ATTR_INT ; bmAttributes (INT)
; DB 01H, 00H ; wMaxPacketSize
; DB 0AH ; bInterval
;endpoint1DescEnd:
endpoint2Desc: ; Consumer endpoint descriptor (EP2 IN)
DB endpoint2DescEnd - endpoint2Desc
DB DESC_TYPE_ENDPOINT ; bDescriptorType
DB 82H ; bEndpointAddress
DB EP_ATTR_INT ; bmAttributes (INT)
DB 0CH, 00H ; wMaxPacketSize
DB 0AH ; bInterval
endpoint2DescEnd:
interface3Desc: ; Mouse interface descriptor
DB interface3DescEnd - interface3Desc
DB DESC_TYPE_INTERFACE ; bDescriptorType
DB 03H ; bInterfaceNumber
DB 00H ; bAlternateSetting
DB 01H ; bNumEndpoints
DB 03H ; bInterfaceClass (HID)
DB 01H ; bInterfaceSubClass (Boot)
DB 02H ; bInterfaceProcotol (Mouse)
DB 00H ; iInterface
interface3DescEnd:
hid3Desc: ; Mouse HID descriptor
DB hid3DescEnd - hid3Desc
DB DESC_TYPE_HID ; bDescriptor (MemPhis)
DW 0111H ; bcdHID (HID v1.11)
DB 00H ; bCountryCode
DB 01H ; bNumDescriptors
DB DESC_TYPE_HIDREPORT ; bDescriptorType
DB entity3DescEnd - entity3Desc, 00H
hid3DescEnd:
endpoint5Desc: ; Mouse endpoint descriptor (EP4 IN)
DB endpoint5DescEnd - endpoint5Desc
DB DESC_TYPE_ENDPOINT ; bDescriptorType
DB 84H ; bEndpointAddress
DB EP_ATTR_INT ; bmAttributes (INT)
DB 0FH, 00H ; wMaxPacketSize
DB 0AH ; bInterval
endpoint5DescEnd:
config1LengthEnd:
;;-------------------------------------------------------------------------------------------------------
;;-------------------------------------------------------------------------------------------------------
;; String descriptors
string0Desc: ; Language ID
DB string0DescEnd - string0Desc ; bLength
DB DESC_TYPE_STRING ; bDescriptorType
DW 0409H ; wLangID (English-US)
string0DescEnd:
string1Desc: ; Manufacturer
DB string1DescEnd - string1Desc ; bLength
DB DESC_TYPE_STRING ; bDescriptorType
DB 'T', 0 ; unicode string
DB 'e', 0
DB 'x', 0
DB 'a', 0
DB 's', 0
DB ' ', 0
DB 'I', 0
DB 'n', 0
DB 's', 0
DB 't', 0
DB 'r', 0
DB 'u', 0
DB 'm', 0
DB 'e', 0
DB 'n', 0
DB 't', 0
DB 's', 0
string1DescEnd:
string2Desc: ; Product
DB string2DescEnd - string2Desc ; bLength
DB DESC_TYPE_STRING ; bDescriptorType
DB 'U', 0 ; unicode string
DB 'S', 0
DB 'B', 0
DB ' ', 0
DB 'C', 0
DB 'C', 0
DB '2', 0
DB '5', 0
DB '4', 0
DB '0', 0
DB ' ', 0
DB 'H', 0
DB 'I', 0
DB 'D', 0
string2DescEnd:
; To enable multiple HID dongles to connect to a PC,
; program a unique serial number for each dongle.
string3Desc: ; Serial Number
DB string3DescEnd - string3Desc
DB DESC_TYPE_STRING ; bDescriptorType
DB '0', 0
DB '0', 0
DB '1', 0
string3DescEnd:
usbDescEnd:
;;-------------------------------------------------------------------------------------------------------
;;-------------------------------------------------------------------------------------------------------
;; HID report descriptors
entity0Desc: ; Keyboard report descriptor (using format for Boot interface descriptor)
DB 0005H, 0001H ; Usage Pg (Generic Desktop)
DB 0009H, 0006H ; Usage (Keyboard)
DB 00A1H, 0001H ; Collection: (Application)
;
; 8 bits: Modifier keys
DB 0095H, 0008H ; Report Count (8)
DB 0075H, 0001H ; Report Size (1)
DB 0005H, 0007H ; Usage Pg (Key Codes)
DB 0019H, 00E0H ; Usage Min (224)
DB 0029H, 00E7H ; Usage Max (231)
DB 0015H, 0000H ; Log Min (0)
DB 0025H, 0001H ; Log Max (1)
DB 0081H, 0002H ; Input: (Data, Variable, Absolute)
;
; 1 byte: Reserved
DB 0095H, 0001H ; Report Count (1)
DB 0075H, 0008H ; Report Size (8)
DB 0081H, 0001H ; Input: (Constant)
;
; 5 bits: LED report (NumLock, CapsLock, ScrollLock, Compose, Kana)
DB 0095H, 0005H ; Report Count (5)
DB 0075H, 0001H ; Report Size (1)
DB 0005H, 0008H ; Usage Pg (LEDs)
DB 0019H, 0001H ; Usage Min (1)
DB 0029H, 0005H ; Usage Max (5)
DB 0091H, 0002H ; Output: (Data, Variable, Absolute)
;
; 3 bits: LED report padding
DB 0095H, 0001H ; Report Count (1)
DB 0075H, 0003H ; Report Size (3)
DB 0091H, 0001H ; Output: (Constant)
;
; 6 bytes: Keycode1 - Keycode6
DB 0095H, 0006H ; Report Count (6)
DB 0075H, 0008H ; Report Size (8)
DB 0005H, 0007H ; Usage Pg (Key Codes)
DB 0019H, 0000H ; Usage Min (0)
DB 0029H, 0065H ; Usage Max (101)
DB 0015H, 0000H ; Log Min (0)
DB 0025H, 0065H ; Log Max (101)
DB 0081H, 0000H ; Input: (Data, Array)
;
DB 00C0H ; End Collection
entity0DescEnd:
entity1Desc: ; Consumer report descriptor
DB 005H, 00CH ; Usage Pg (Consumer Devices)
DB 009H, 001H ; Usage (Consumer Control)
DB 0A1H, 001H ; Collection (Application)
DB 009H, 002H ; Usage (Numeric Key Pad)
DB 0A1H, 002H ; Collection (Logical)
DB 005H, 009H ; Usage Pg (Button)
DB 019H, 001H ; Usage Min (Button 1)
DB 029H, 00AH ; Usage Max (Button 10)
DB 015H, 001H ; Logical Min (1)
DB 025H, 00AH ; Logical Max (10)
DB 075H, 004H ; Report Size (4)
DB 095H, 001H ; Report Count (1)
DB 081H, 000H ; Input (Data, Ary, Abs)
DB 0C0H ; End Collection
DB 005H, 00CH ; Usage Pg (Consumer Devices)
DB 009H, 086H ; Usage (Channel)
DB 015H, 0FFH ; Logical Min (-1)
DB 025H, 001H ; Logical Max (1)
DB 075H, 002H ; Report Size (2)
DB 095H, 001H ; Report Count (1)
DB 081H, 046H ; Input (Data, Var, Rel, Null)
DB 009H, 0E9H ; Usage (Volume Up)
DB 009H, 0EAH ; Usage (Volume Down)
DB 015H, 000H ; Logical Min (0)
DB 075H, 001H ; Report Size (1)
DB 095H, 002H ; Report Count (2)
DB 081H, 002H ; Input (Data, Var, Abs)
DB 009H, 0E2H ; Usage (Mute)
DB 009H, 030H ; Usage (Power)
DB 009H, 083H ; Usage (Recall Last)
DB 009H, 081H ; Usage (Assign Selection)
DB 009H, 0CDH ; Usage (Play/Pause) // HACKED CHANGE
DB 009H, 040H ; Usage (Menu) // HACKED CHANGE
DB 009H, 0B2H ; Usage (Record)
DB 009H, 0B3H ; Usage (Fast Forward)
DB 009H, 0B4H ; Usage (Rewind)
DB 009H, 0B5H ; Usage (Scan Next)
DB 009H, 0B6H ; Usage (Scan Prev)
DB 009H, 0B7H ; Usage (Stop)
DB 015H, 001H ; Logical Min (1)
DB 025H, 00CH ; Logical Max (12)
DB 075H, 004H ; Report Size (4)
DB 095H, 001H ; Report Count (1)
DB 081H, 000H ; Input (Data, Ary, Abs)
DB 009H, 080H ; Usage (Selection)
DB 0A1H, 002H ; Collection (Logical)
DB 005H, 009H ; Usage Pg (Button)
DB 019H, 001H ; Usage Min (Button 1)
DB 029H, 003H ; Usage Max (Button 3)
DB 015H, 001H ; Logical Min (1)
DB 025H, 003H ; Logical Max (3)
DB 075H, 002H ; Report Size (2)
DB 081H, 000H ; Input (Data, Ary, Abs)
DB 0C0H ; End Collection
DB 081H, 003H ; Input (Const, Var, Abs)
DB 0C0H ; End Collection
entity1DescEnd:
entity3Desc:
DB 0x05, 0x01 ; Usage Page (Generic Desktop)
DB 0x09, 0x02 ; Usage (Mouse)
DB 0xA1, 0x01 ; Collection (Application)
DB 0x09, 0x01 ; Usage (Pointer)
DB 0xA1, 0x00 ; Collection (Physical)
DB 0x05, 0x09 ; Usage Page (Buttons)
DB 0x19, 0x01 ; Usage Minimum (01) - Button 1
DB 0x29, 0x03 ; Usage Maximum (03) - Button 3
DB 0x15, 0x00 ; Logical Minimum (0)
DB 0x25, 0x01 ; Logical Maximum (1)
DB 0x75, 0x01 ; Report Size (1)
DB 0x95, 0x03 ; Report Count (3)
DB 0x81, 0x02 ; Input (Data, Variable, Absolute) - Button states
DB 0x75, 0x05 ; Report Size (5)
DB 0x95, 0x01 ; Report Count (1)
DB 0x81, 0x01 ; Input (Constant) - Padding or Reserved bits
DB 0x05, 0x01 ; Usage Page (Generic Desktop)
DB 0x09, 0x30 ; Usage (X)
DB 0x09, 0x31 ; Usage (Y)
DB 0x09, 0x38 ; Usage (Z)
DB 0x15, 0x81 ; Logical Minimum (-127)
DB 0x25, 0x7F ; Logical Maximum (127)
DB 0x75, 0x08 ; Report Size (8)
DB 0x95, 0x03 ; Report Count (3)
DB 0x81, 0x06 ; Input (Data, Variable, Relative) - X & Y coordinate
DB 0xC0 ; End Collection
DB 0xC0 ; End Collection
entity3DescEnd:
;;-------------------------------------------------------------------------------------------------------
;;-------------------------------------------------------------------------------------------------------
;; Look-up table for descriptors that are not returned through requests for DSC_DEVICE, DSC_CONFIG or
;; DSC_STRING (e.g. HID report descriptors)
usbDescLut: DB DESC_TYPE_HIDREPORT, 00H ; value (MSB:LSB)
DB 00H, 00H ; index (MSB:LSB)
DW entity0Desc ; pDesc
DW entity0DescEnd - entity0Desc ; length
DB DESC_TYPE_HIDREPORT, 00H ; value (MSB:LSB)
DB 00H, 01H ; index (MSB:LSB)
DW entity1Desc ; pDesc
DW entity1DescEnd - entity1Desc ; length
DB DESC_TYPE_HIDREPORT, 00H ; value (MSB:LSB)
DB 00H, 03H ; index (MSB:LSB)
DW entity3Desc ; pDesc
DW entity3DescEnd - entity3Desc ; length
DB DESC_TYPE_HID, 00H ; value (MSB:LSB)
DB 00H, 00H ; index (MSB:LSB)
DW hid0Desc ; pDesc
DW hid0DescEnd - hid0Desc ; length
DB DESC_TYPE_HID, 00H ; value (MSB:LSB)
DB 00H, 01H ; index (MSB:LSB)
DW hid1Desc ; pDesc
DW hid1DescEnd - hid1Desc ; length
DB DESC_TYPE_HID, 00H ; value (MSB:LSB)
DB 00H, 03H ; index (MSB:LSB)
DW hid3Desc ; pDesc
DW hid3DescEnd - hid3Desc ; length
usbDescLutEnd:
;;-------------------------------------------------------------------------------------------------------
;;-------------------------------------------------------------------------------------------------------
;; Look-up table for double buffer settings (one set of bit masks for each defined interface)
usbDblbufLut: DW interface0Desc ; pInterface
DB 00H ; inMask
DB 00H ; outMask
DW interface1Desc ; pInterface
DB 00H ; inMask
DB 00H ; outMask
DW interface3Desc ; pInterface
DB 00H ; inMask
DB 00H ; outMask
usbDblbufLutEnd:
;;-------------------------------------------------------------------------------------------------------
END;
/*
+------------------------------------------------------------------------------
| Copyright 2004-2013 Texas Instruments Incorporated. All rights reserved.
|
| IMPORTANT: Your use of this Software is limited to those specific rights
| granted under the terms of a software license agreement between the user who
| downloaded the software, his/her employer (which must be your employer) and
| Texas Instruments Incorporated (the "License"). You may not use this Software
| unless you agree to abide by the terms of the License. The License limits
| your use, and you acknowledge, that the Software may not be modified, copied
| or distributed unless embedded on a Texas Instruments microcontroller or used
| solely and exclusively in conjunction with a Texas Instruments radio
| frequency transceiver, which is integrated into your product. Other than for
| the foregoing purpose, you may not use, reproduce, copy, prepare derivative
| works of, modify, distribute, perform, display or sell this Software and/or
| its documentation for any purpose.
|
| YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
| PROVIDED 揂S IS?WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
| INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
| NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
| TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
| NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
| LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING
| BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
| CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
| SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
| (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
| Should you have any questions regarding your right to use this Software,
| contact Texas Instruments Incorporated at www.TI.com.
|
+------------------------------------------------------------------------------
|The default USB descriptor defines a minimum configuration, with no endpoints
|apart from EP0. The application can define 3 IN and OUT endpoints, and override
|the configuration and interface descriptor (only one of each).
|The device and string descriptors are locked.
+------------------------------------------------------------------------------*/
代码贴错了,下面才是
/***********************************************************************************
Filename: usb_hid_descriptor.s51
Description: USB descriptor for HID-devices.
***********************************************************************************/
#define ASM_FILE
#include "../library/usb_descriptor.h"
MODULE usb_descriptor
RSEG RCODE
PUBLIC usbDescStart;
PUBLIC usbDescEnd;
PUBLIC deviceDesc;
PUBLIC configDesc;
PUBLIC interface0Desc;
PUBLIC hid0Desc;
PUBLIC endpoint0Desc;
PUBLIC endpoint1Desc;
PUBLIC entity0Desc;
PUBLIC entity0DescEnd;
PUBLIC string0Desc;
PUBLIC string1Desc;
PUBLIC string2Desc;
PUBLIC string3Desc;
PUBLIC usbDescLut;
PUBLIC usbDescLutEnd;
PUBLIC usbDblbufLut;
PUBLIC usbDblbufLutEnd;
;;-------------------------------------------------------------------------------------------------------
;; USB descriptors
usbDescStart:
deviceDesc: ; Device descriptor
DB deviceDescEnd - deviceDesc ; bLength
DB DESC_TYPE_DEVICE ; bDescriptorType
DW 0200H ; bcdUSB (USB 2.0)
DB 00H ; bDeviceClass (given by interface)
DB 00H ; bDeviceSubClass
DB 00H ; bDeviceProtocol
DB EP0_PACKET_SIZE
DW 0451H ; idVendor (Texas Instruments)
DW 16B4H ; idProduct (CC2540 HID)
DW 0100H ; bcdDevice (v1.0)
DB 01H ; iManufacturer
DB 02H ; iProduct
DB 03H ; iSerialNumber
DB 01H ; bNumConfigurations
deviceDescEnd:
config1LengthStart:
configDesc: ; Configuration descriptor
DB configDescEnd - configDesc ; bLength
DB DESC_TYPE_CONFIG ; bDescriptorType
DW config1LengthEnd - config1LengthStart ; wTotalLength
DB 01H ; bNumInterfaces
DB 01H ; bConfigurationValue
DB 00H ; iConfiguration
DB 0xC0 ; bmAttributes (bit 5 remote wakeup)
DB 0x96 ; bMaxPower (max 2 * 25 = 50 mA)
configDescEnd:
interface0Desc: ; Keyboard interface descriptor
DB interface0DescEnd - interface0Desc ; bLength
DB DESC_TYPE_INTERFACE ; bDescriptorType
DB 00H ; bInterfaceNumber
DB 00H ; bAlternateSetting (none)
DB 02H ; bNumEndpoints
DB 03H ; bInterfaceClass (HID)
DB 00H ; bInterfaceSubClass (Boot)
DB 02H ; bInterfaceProcotol (Keyboard)
DB 00H ; iInterface
interface0DescEnd:
hid0Desc: ; Keyboard HID descriptor
DB hid0DescEnd - hid0Desc ; bLength
DB DESC_TYPE_HID ; bDescriptorType
DW 0110H ; bcdHID (HID v1.11)
DB 00H ; bCountryCode (not localized)
DB 01H ; bNumDescriptors
DB 0x22 ; bDescriptorType
DW entity0DescEnd - entity0Desc ; wDescriptorLength
hid0DescEnd:
endpoint0Desc: ; Keyboard endpoint descriptor (EP1 IN)
DB endpoint0DescEnd - endpoint0Desc ; bLength
DB DESC_TYPE_ENDPOINT ; bDescriptorType
DB 82H ; bEndpointAddress
DB EP_ATTR_INT ; bmAttributes (INT)
;DW 0008H ; wMaxPacketSize
DB EP0_PACKET_SIZE, 00H ; wMaxPacketSize//levivi
;DB 0AH ; bInterval (10 full-speed frames = 10 ms)
DB 01H ; bInterval//levivi
endpoint0DescEnd:
; Add output end-point if necessary (e.g., LED output)
; Note that uncommenting the following block itself do not enable output
; the end-point.
endpoint1Desc: ; Keyboard endpoint descriptor (EP1 OUT)
DB endpoint1DescEnd - endpoint1Desc
DB DESC_TYPE_ENDPOINT ; bDescriptorType
DB 01H ; bEndpointAddress
DB EP_ATTR_INT ; bmAttributes (INT)
DB EP0_PACKET_SIZE, 00H ; wMaxPacketSize
DB 01H ; bInterval
endpoint1DescEnd:
config1LengthEnd:
;;-------------------------------------------------------------------------------------------------------
;;-------------------------------------------------------------------------------------------------------
;; String descriptors
string0Desc: ; Language ID
DB string0DescEnd - string0Desc ; bLength
DB DESC_TYPE_STRING ; bDescriptorType
DW 0409H ; wLangID (English-US)
string0DescEnd:
string1Desc: ; Manufacturer
DB string1DescEnd - string1Desc ; bLength
DB DESC_TYPE_STRING ; bDescriptorType
DB 'T', 0 ; unicode string
DB 'e', 0
DB 'x', 0
DB 'a', 0
DB 's', 0
DB ' ', 0
DB 'I', 0
DB 'n', 0
DB 's', 0
DB 't', 0
DB 'r', 0
DB 'u', 0
DB 'm', 0
DB 'e', 0
DB 'n', 0
DB 't', 0
DB 's', 0
string1DescEnd:
string2Desc: ; Product
DB string2DescEnd - string2Desc ; bLength
DB DESC_TYPE_STRING ; bDescriptorType
DB 'U', 0 ; unicode string
DB 'S', 0
DB 'B', 0
DB ' ', 0
DB 'C', 0
DB 'C', 0
DB '2', 0
DB '5', 0
DB '4', 0
DB '0', 0
DB ' ', 0
DB 'H', 0
DB 'I', 0
DB 'D', 0
string2DescEnd:
; To enable multiple HID dongles to connect to a PC,
; program a unique serial number for each dongle.
string3Desc: ; Serial Number
DB string3DescEnd - string3Desc
DB DESC_TYPE_STRING ; bDescriptorType
DB '0', 0
DB '0', 0
DB '1', 0
string3DescEnd:
usbDescEnd:
;;-------------------------------------------------------------------------------------------------------
;;-------------------------------------------------------------------------------------------------------
;; HID report descriptors
entity0Desc: ; Keyboard report descriptor (using format for Boot interface descriptor)
DB 0x05, 0x8c ; * USAGE_PAGE (ST Page) */
DB 0x09, 0x01 ; * USAGE (Demo Kit) */
DB 0xa1, 0x01 ; * COLLECTION (Application) */
;// The Input report
DB 0x09,0x03 ; / USAGE ID - Vendor defined
DB 0x15,0x00 ; / LOGICAL_MINIMUM (0)
DB 0x26,0x00, 0xFF ; / LOGICAL_MAXIMUM (255)
DB 0x75,0x08 ; / REPORT_SIZE (8bit)
DB 0x95,EP0_PACKET_SIZE ; / REPORT_COUNT (32Byte)
DB 0x81,0x02 ; / INPUT (Data,Var,Abs)
;// The Output report
DB 0x09,0x04 ; / USAGE ID - Vendor defined
DB 0x15,0x00 ; / LOGICAL_MINIMUM (0)
DB 0x26,0x00,0xFF ; / LOGICAL_MAXIMUM (255)
DB 0x75,0x08 ; / REPORT_SIZE (8bit)
DB 0x95,EP0_PACKET_SIZE ; / REPORT_COUNT (32Byte)
DB 0x91,0x02 ; / OUTPUT (Data,Var,Abs)
DB 0xc0 ;/* END_COLLECTION */ ;
entity0DescEnd:
;;-------------------------------------------------------------------------------------------------------
;;-------------------------------------------------------------------------------------------------------
;; Look-up table for descriptors that are not returned through requests for DSC_DEVICE, DSC_CONFIG or
;; DSC_STRING (e.g. HID report descriptors)
usbDescLut: DB DESC_TYPE_HIDREPORT, 00H ; value (MSB:LSB)
DB 00H, 00H ; index (MSB:LSB)
DW entity0Desc ; pDesc
DW entity0DescEnd - entity0Desc ; length
DB DESC_TYPE_HID, 00H ; value (MSB:LSB)
DB 00H, 00H ; index (MSB:LSB)
DW hid0Desc ; pDesc
DW hid0DescEnd - hid0Desc ; length
usbDescLutEnd:
;;-------------------------------------------------------------------------------------------------------
;;-------------------------------------------------------------------------------------------------------
;; Look-up table for double buffer settings (one set of bit masks for each defined interface)
usbDblbufLut: DW interface0Desc ; pInterface
DB 00H ; inMask
DB 00H ; outMask
usbDblbufLutEnd:
;;-------------------------------------------------------------------------------------------------------
END;
/*
+------------------------------------------------------------------------------
| Copyright 2004-2013 Texas Instruments Incorporated. All rights reserved.
|
| IMPORTANT: Your use of this Software is limited to those specific rights
| granted under the terms of a software license agreement between the user who
| downloaded the software, his/her employer (which must be your employer) and
| Texas Instruments Incorporated (the "License"). You may not use this Software
| unless you agree to abide by the terms of the License. The License limits
| your use, and you acknowledge, that the Software may not be modified, copied
| or distributed unless embedded on a Texas Instruments microcontroller or used
| solely and exclusively in conjunction with a Texas Instruments radio
| frequency transceiver, which is integrated into your product. Other than for
| the foregoing purpose, you may not use, reproduce, copy, prepare derivative
| works of, modify, distribute, perform, display or sell this Software and/or
| its documentation for any purpose.
|
| YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
| PROVIDED 揂S IS?WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
| INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
| NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
| TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
| NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
| LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING
| BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
| CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
| SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
| (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
| Should you have any questions regarding your right to use this Software,
| contact Texas Instruments Incorporated at www.TI.com.
|
+------------------------------------------------------------------------------
|The default USB descriptor defines a minimum configuration, with no endpoints
|apart from EP0. The application can define 3 IN and OUT endpoints, and override
|the configuration and interface descriptor (only one of each).
|The device and string descriptors are locked.
+------------------------------------------------------------------------------*/
interface0Desc: ; Keyboard interface descriptor
DB interface0DescEnd - interface0Desc ; bLength
DB DESC_TYPE_INTERFACE ; bDescriptorType
DB 00H ; bInterfaceNumber
DB 00H ; bAlternateSetting (none)
DB 02H ; bNumEndpoints
DB 03H ; bInterfaceClass (HID)
DB 00H ; bInterfaceSubClass (Boot)
DB 02H ; bInterfaceProcotol (Keyboard)
DB 00H ; iInterface
下面这个值改成其他的还是一样识别成键盘,一直不明白,难道还要改其他的地方?
DB 02H ; bInterfaceProcotol (Keyboard)
S51是汇编代码啊,,,,
你改这个干啥,应该改proflie,都是C代码
大神,最后怎么改的?急求!
