?? descriptor.c
字號(hào):
/****************************************Copyright (c)**************************************************
** 廣州周立功單片機(jī)發(fā)展有限公司
** 研 究 所
** 產(chǎn)品一部
**
** http://www.zlgmcu.com
**
** 文 件 名: Descriptor.c
** 最后修改日期: 2004年7月2日
** 描 述: USB驅(qū)動(dòng)程序軟件包: PDIUSBD12 設(shè)備端驅(qū)動(dòng)程序 協(xié)議層有關(guān)描述符取值
** 版 本: V1.0
** 最后修改日期: 2004年8月8日
** 描 述: 將 端點(diǎn)1 的中斷時(shí)間由 10ms 改為 1ms
** 版 本: V1.5
**********************************************************************************************************/
#include "config.h"
#include "Descriptor.h"
/* 設(shè)備描述符: 測(cè)試設(shè)備類型 */
#define USB_CLASS_CODE_TEST_CLASS_DEVICE 0xdc
/* 接口描述符: 子類代碼 */
#define USB_SUBCLASS_CODE_TEST_CLASS_D12 0xA0
/* 接口描述符: 協(xié)議代碼 */
#define USB_PROTOCOL_CODE_TEST_CLASS_D12 0xB0
//設(shè)備描述符
const USB_DEVICE_DESCRIPTOR DeviceDescr =
{
sizeof(USB_DEVICE_DESCRIPTOR), //設(shè)備描述符長度,= 12H
USB_DEVICE_DESCRIPTOR_TYPE, //設(shè)備描述符類型,= 01H
0x00,0x01, //協(xié)議版本,= 1.10
USB_CLASS_CODE_TEST_CLASS_DEVICE, //測(cè)試設(shè)備類型, = 0DCH
0, 0, //設(shè)備子類,設(shè)備協(xié)議
EP0_PACKET_SIZE, //端點(diǎn)0最大數(shù)據(jù)包大小,= 10H
0x71,0x04, //PHILIPS公司的設(shè)備ID
0x66,0x06, //設(shè)備制造商定的產(chǎn)品ID
0x00,0x01, //設(shè)備系列號(hào)
0, 0, 0, //索引
1 //可能的配置數(shù)
};
const USB_DESCRIPTOR usb_descr =
{
//配置描述符
{
sizeof(USB_CONFIGURATION_DESCRIPTOR), //配置描述符長度,= 09H
USB_CONFIGURATION_DESCRIPTOR_TYPE, //配置描述符類型,= 02H
CONFIG_DESCRIPTOR_LENGTH,0x00, //描述符總長度, = 002EH
1, //只支持1個(gè)接口
1, //配置值
0, //字符串描述符指針(無)
0x60, //自供電,支持遠(yuǎn)程喚醒
0x32 //最大功耗(100mA)
},
//接口描述符
{
sizeof(USB_INTERFACE_DESCRIPTOR), //接口描述符長度,= 09H
USB_INTERFACE_DESCRIPTOR_TYPE, //接口描述符類型,= 04H
0, //接口數(shù),只有1個(gè)
0, //可選配置,只有1個(gè)
NUM_ENDPOINTS, //除端點(diǎn)0的端點(diǎn)索引數(shù)目,= 04H
USB_CLASS_CODE_TEST_CLASS_DEVICE, //測(cè)試設(shè)備類型,= 0DCH
USB_SUBCLASS_CODE_TEST_CLASS_D12, //子類代碼,= 0A0H
USB_PROTOCOL_CODE_TEST_CLASS_D12, //協(xié)議代碼,= 0B0H
0 //字符串描述符索引
},
//端點(diǎn)描述符,端點(diǎn)1輸入
{
sizeof(USB_ENDPOINT_DESCRIPTOR), //端點(diǎn)描述符長度,= 07H
USB_ENDPOINT_DESCRIPTOR_TYPE, //端點(diǎn)描述符類型,= 05H
0x81, //端點(diǎn)1 IN
USB_ENDPOINT_TYPE_INTERRUPT, //中斷傳輸, = 03H
EP1_PACKET_SIZE,0x00, //端點(diǎn)最大包的大小,= 0010H
1 //傳輸間隔時(shí)間,= 10ms
},
//端點(diǎn)描述符,端點(diǎn)1輸出
{
sizeof(USB_ENDPOINT_DESCRIPTOR), //端點(diǎn)描述符長度,= 07H
USB_ENDPOINT_DESCRIPTOR_TYPE, //端點(diǎn)描述符類型,= 05H
0x1, //端點(diǎn)1 OUT
USB_ENDPOINT_TYPE_INTERRUPT, //中斷傳輸,= 03H
EP1_PACKET_SIZE,0x00, //端點(diǎn)最大包的大小,= 0010H
1 //傳輸間隔時(shí)間,= 10ms
},
//端點(diǎn)2輸入
{
sizeof(USB_ENDPOINT_DESCRIPTOR), //端點(diǎn)描述符長度,= 07H
USB_ENDPOINT_DESCRIPTOR_TYPE, //端點(diǎn)描述符類型,= 05H
0x82, //端點(diǎn)2 OUT
USB_ENDPOINT_TYPE_BULK, //批量傳輸,= 02H
EP2_PACKET_SIZE,0x00, //端點(diǎn)最大包的大小,= 0040H
10 //批量傳輸時(shí)該設(shè)備無效
},
//端點(diǎn)2輸出
{
sizeof(USB_ENDPOINT_DESCRIPTOR), //端點(diǎn)描述符長度,= 07H
USB_ENDPOINT_DESCRIPTOR_TYPE, //端點(diǎn)描述符類型,= 05H
0x2, //端點(diǎn)2 IN
USB_ENDPOINT_TYPE_BULK, //批量傳輸,= 02H
EP2_PACKET_SIZE,0x00, //端點(diǎn)最大包的大小,= 0040H
10 //批量傳輸時(shí)該設(shè)備無效
}
};
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -