亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hid_desc.c

?? 嵌入式LINUX9系統(tǒng)應(yīng)用開發(fā)詳解中USB編程實(shí)例
?? C
字號(hào):
/*********************************************************************
 *
 * Copyright:
 *	MOTOROLA, INC. All Rights Reserved.  
 *  You are hereby granted a copyright license to use, modify, and
 *  distribute the SOFTWARE so long as this entire notice is
 *  retained without alteration in any modified and/or redistributed
 *  versions, and that such modified versions are clearly identified
 *  as such. No licenses are granted by implication, estoppel or
 *  otherwise under any patents or trademarks of Motorola, Inc. This 
 *  software is provided on an "AS IS" basis and without warranty.
 *
 *  To the maximum extent permitted by applicable law, MOTOROLA 
 *  DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED, INCLUDING 
 *  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
 *  PURPOSE AND ANY WARRANTY AGAINST INFRINGEMENT WITH REGARD TO THE 
 *  SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF) AND ANY 
 *  ACCOMPANYING WRITTEN MATERIALS.
 * 
 *  To the maximum extent permitted by applicable law, IN NO EVENT
 *  SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING 
 *  WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS 
 *  INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY
 *  LOSS) ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.   
 * 
 *  Motorola assumes no responsibility for the maintenance and support
 *  of this software
 ********************************************************************/

/*
 * File:	hid_desc.c
 * Purpose:	Descriptors for HID Mouse Test
 */

#include "mcf5272.h"
#include "init.h"
#include "hid.h"

/********************************************************************/

/* Structure for Mouse HID Interface Type */
typedef struct {
	USB_DEVICE_DESC device_desc;
	USB_CONFIG_DESC config_desc;
	USB_INTERFACE_DESC interface_desc;
	USB_HID_DESC hid_desc;
	USB_ENDPOINT_DESC endpoint_desc;
} DESCRIPTOR_STRUCT;

/********************************************************************/

/* Initialize Report Descriptor */

uint8 report[] = 
{
	USAGE_PAGE1(GENERIC_DESKTOP) >> 8,
	USAGE_PAGE1(GENERIC_DESKTOP) & 0xFF,
	USAGE1(MOUSE) >> 8,
	USAGE1(MOUSE) & 0xFF,
	COLLECTION1(APPLICATION) >> 8,
	COLLECTION1(APPLICATION) & 0xFF,
		USAGE1(POINTER) >> 8,
		USAGE1(POINTER) & 0xFF,
		COLLECTION1(PHYSICAL) >> 8,
		COLLECTION1(PHYSICAL) & 0xFF,
			USAGE_PAGE1(BUTTON) >> 8,
			USAGE_PAGE1(BUTTON) & 0xFF,
			USAGE_MINIMUM1(1) >> 8,
			USAGE_MINIMUM1(1) & 0xFF,
 			USAGE_MAXIMUM1(3) >> 8,
 			USAGE_MAXIMUM1(3) & 0xFF,
 			LOGICAL_MINIMUM1(0) >> 8,
 			LOGICAL_MINIMUM1(0) & 0xFF,
 			LOGICAL_MAXIMUM1(1) >> 8,
 			LOGICAL_MAXIMUM1(1) & 0xFF,
 			REPORT_COUNT1(3) >> 8,
 			REPORT_COUNT1(3) & 0xFF,
 			REPORT_SIZE1(1) >> 8,
 			REPORT_SIZE1(1) & 0xFF,
 			INPUT3(DATA, VARIABLE, ABSOLUTE) >> 8,
 			INPUT3(DATA, VARIABLE, ABSOLUTE) & 0xFF,
 			REPORT_COUNT1(1) >> 8,
 			REPORT_COUNT1(1) & 0xFF,
 			REPORT_SIZE1(5) >> 8,
 			REPORT_SIZE1(5) & 0xFF,
 			INPUT1(CONSTANT) >> 8,
 			INPUT1(CONSTANT) & 0xFF,
 			USAGE_PAGE1(GENERIC_DESKTOP) >> 8,
 			USAGE_PAGE1(GENERIC_DESKTOP) & 0xFF,
 			USAGE1(X) >> 8,
 			USAGE1(X) & 0xFF,
 			USAGE1(Y) >> 8,
 			USAGE1(Y) & 0xFF,
 			LOGICAL_MINIMUM1(-127) >> 8,
 			LOGICAL_MINIMUM1(-127) & 0xFF,
 			LOGICAL_MAXIMUM1(127) >> 8,
 			LOGICAL_MAXIMUM1(127) & 0xFF,
 			REPORT_SIZE1(8) >> 8,
 			REPORT_SIZE1(8) & 0xFF,
 			REPORT_COUNT1(2) >> 8,
 			REPORT_COUNT1(2) & 0xFF,
 			INPUT3(DATA, VARIABLE, RELATIVE) >> 8,
 			INPUT3(DATA, VARIABLE, RELATIVE) & 0xFF,
	END_COLLECTION,
	END_COLLECTION
};

/********************************************************************/

/* Initialize the Mouse descriptors */
DESCRIPTOR_STRUCT Descriptors =
{
	/* Device Descriptor */
	{
	/* bLength */				sizeof(USB_DEVICE_DESC),
	/* bDescriptorType */		DEVICE,
	/* bcdUSBL */				0,
	/* bcdUSBH */				1,		/* USB 1.00 */
	/* bDeviceClass */			0,
	/* bDeviceSubClass */		0,
	/* bDeviceProtocol */		0,
	/* bMaxPacketSize0 */		8,
	/* idVendorL */				0xCD,
	/* idVendorH */				0xAB,	/* arbitrary */
	/* idProductL */			0x34,
	/* idProductH */			0x12,	/* arbitrary */
	/* bcdDeviceL */			0,
	/* bcdDeviceH */			1,		/* arbitrary */
	/* iManufacturern */		0,
	/* iProduct */				0,
	/* iSerialNumber */			0,
	/* bNumConfigurations */	1,
	},

	/* Configuration Descriptor */
	{
	/* bLength */				sizeof(USB_CONFIG_DESC),
	/* bDescriptorType */		CONFIGURATION,
	/* wTotalLengthL */			(sizeof(DESCRIPTOR_STRUCT) - 
								sizeof(USB_DEVICE_DESC)) & 0x00FF,
	/* wTotalLengthH */			(sizeof(DESCRIPTOR_STRUCT) - 
								sizeof(USB_DEVICE_DESC)) >> 8,
	/* bNumInterfaces */		1,
	/* bConfigurationValue */	1,	/* This is configuration #1 */
	/* iConfiguration */		0,
	/* bmAttributes */			(SELF_POWERED | REMOTE_WAKEUP),
	/* maxPower */				0,
	},

	/* Interface Descriptor */
	{
	/* bLength */				sizeof(USB_INTERFACE_DESC),
	/* bDescriptorType */		INTERFACE,
	/* bInterfaceNumber */		0,		/* This is interface #0 */
	/* bAlternateSetting */		0,
	/* bNumEndpoints */			1,
	/* bInterfaceClass */		HID_INTERFACE,
	/* bInterfaceSubClass */	BOOT_INTERFACE,
	/* bInterfaceProtocol */	MOUSE_INTERFACE,
	/* iInterface */			0,
	},

	/* HID Descriptor */
	{
	/* bLength */				sizeof(USB_HID_DESC),
	/* bHidDescriptorType */	HID_DESC,
	/* bcdHIDL */				0x10,
	/* bcdHIDH */				0x01,	/* HID spec 1.1 */
	/* bCountryCode */			0,		/* not supported */
	/* bNumDescriptors */		1,
	/* bClassDescriptorType */	REPORT_DESC,
	/* wDescriptorLengthL */	sizeof(report) & 0x00FF,
	/* wDescriptorLengthH */	sizeof(report) >> 8,
	},
	/* Endpoint Descriptor */
	{
	/* bLength */				sizeof(USB_ENDPOINT_DESC),
	/* bDescriptorType */		ENDPOINT,
	/* bEndpointAddress */		(1 | IN),	/* This is endpoint #1 */
	/* bmAttributes */			INTERRUPT,
	/* wMaxPacketSizeL */		0x08,
	/* wMaxPacketSizeH */		0x00,
	/* bInterval */				10,	/* 10 ms */
	}
};
/********************************************************************/
uint16
usb_get_desc_size(void)
{
	return (sizeof(DESCRIPTOR_STRUCT));
}
/********************************************************************/
uint8*
hid_get_report_desc(void)
{
	return (report);
}
/********************************************************************/
uint16
hid_get_report_desc_size(void)
{
	return (sizeof(report));
}
/********************************************************************/
uint8*
hid_get_hid_desc(void)
{
	return ((uint8*)&Descriptors.hid_desc);
}
/********************************************************************/
uint16
hid_get_hid_desc_size(void)
{
	return (sizeof(USB_HID_DESC));
}
/********************************************************************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情开心网| 欧美一区二区福利在线| 成人网页在线观看| 高清日韩电视剧大全免费| 狠狠v欧美v日韩v亚洲ⅴ| 久久99久久久久久久久久久| 91精品国产免费| 欧美日韩精品一区二区| 成人午夜av影视| 99久久免费精品| 91国产精品成人| 欧美日韩亚洲综合在线 | 久久久亚洲国产美女国产盗摄 | 欧美一区二区视频在线观看2020| 欧美三级中文字幕| 91精品国产一区二区人妖| 日韩一区二区中文字幕| 欧美电影免费观看高清完整版在 | 国产精品不卡一区| 一区二区三区欧美激情| 亚洲成人手机在线| 秋霞电影网一区二区| 国产在线播放一区| 国产99久久久国产精品潘金| 91女人视频在线观看| 欧美日韩在线亚洲一区蜜芽| 4438x亚洲最大成人网| 欧美一区二区三区四区高清| 欧美电视剧免费全集观看| 国产日韩欧美精品在线| 亚洲免费观看高清完整| 亚洲国产乱码最新视频| 激情综合色播五月| 91伊人久久大香线蕉| 欧美日韩在线直播| 久久久三级国产网站| 国产精品理伦片| 亚洲成人1区2区| 韩国午夜理伦三级不卡影院| 99精品视频在线免费观看| 欧美日韩精品电影| 中文字幕乱码一区二区免费| 一区二区三区在线免费观看 | 欧美午夜精品久久久久久孕妇| 91精品国产麻豆国产自产在线 | 久久精品人人做人人综合 | 秋霞电影一区二区| 成人黄色综合网站| 4hu四虎永久在线影院成人| 日本一区二区三区四区在线视频| 亚洲午夜精品久久久久久久久| 久久99国产精品久久99 | 成人免费一区二区三区在线观看 | 色综合天天综合| 日韩午夜激情av| 亚洲狼人国产精品| 免费成人结看片| 一本大道久久精品懂色aⅴ| 精品国产百合女同互慰| 亚洲国产精品影院| 暴力调教一区二区三区| 日韩欧美国产小视频| 亚洲乱码国产乱码精品精的特点| 老司机午夜精品| 欧美日韩在线三级| **性色生活片久久毛片| 国产一区二区网址| 555www色欧美视频| 一区二区三区中文在线| 成人免费看黄yyy456| 精品理论电影在线观看| 亚洲成在人线免费| 91丨九色丨尤物| 国产欧美视频一区二区| 裸体一区二区三区| 欧美日韩一区二区三区在线看 | 蜜桃视频在线观看一区二区| 91免费看`日韩一区二区| 久久婷婷色综合| 久久99热狠狠色一区二区| 欧美另类久久久品| 一区二区三区成人| 91小视频在线| 国产精品福利在线播放| 国产精品自在在线| 精品久久久久香蕉网| 婷婷中文字幕综合| 欧美日本一区二区三区四区| 有坂深雪av一区二区精品| 99久久国产综合精品色伊| 国产欧美一区二区精品秋霞影院| 国产真实乱对白精彩久久| 日韩欧美成人午夜| 蜜臀av一区二区| 日韩午夜精品电影| 久久99精品国产麻豆婷婷| 日韩精品在线一区| 久久99精品网久久| 欧美精品一区二区久久婷婷| 国内不卡的二区三区中文字幕| 日韩欧美成人激情| 国产在线精品一区在线观看麻豆| 日韩一区二区三区精品视频 | 色偷偷88欧美精品久久久| 国产精品国产三级国产| av日韩在线网站| 亚洲欧洲av色图| 91麻豆自制传媒国产之光| 自拍偷拍国产亚洲| 91论坛在线播放| 一区二区不卡在线播放 | 国产成人午夜视频| 国产精品素人视频| 成人国产精品免费观看| 国产精品视频一二| 色综合天天做天天爱| 亚洲一级不卡视频| 欧美一区二区福利在线| 国产一区二区三区免费观看| 精品国产青草久久久久福利| 国精品**一区二区三区在线蜜桃| 久久久www成人免费无遮挡大片| 粉嫩av一区二区三区| 1区2区3区精品视频| 欧美三级中文字幕| 久久99久久99精品免视看婷婷| 国产欧美精品日韩区二区麻豆天美| 国产91清纯白嫩初高中在线观看| 国产精品黄色在线观看| 在线日韩av片| 麻豆精品久久精品色综合| 精品国产人成亚洲区| 成人一区二区三区视频 | 色中色一区二区| 天堂久久久久va久久久久| 久久综合国产精品| a级精品国产片在线观看| 亚洲成人三级小说| 久久亚洲综合av| 日本韩国欧美三级| 美日韩一级片在线观看| 中文子幕无线码一区tr| 欧美三级中文字幕| 国产伦精品一区二区三区视频青涩 | 日韩一区二区在线观看视频| 成人午夜在线视频| 亚洲一区二区三区视频在线播放| 欧美一区二区三区视频在线| 国产iv一区二区三区| 亚洲成人7777| 中文av一区二区| 在线不卡免费欧美| 成人中文字幕在线| 视频一区视频二区中文| 国产精品妹子av| 日韩一级视频免费观看在线| www.亚洲人| 久久国产尿小便嘘嘘尿| 亚洲欧美aⅴ...| 久久精品人人做人人爽人人| 欧美麻豆精品久久久久久| 成人免费av资源| 蜜臀99久久精品久久久久久软件| 亚洲理论在线观看| 国产欧美1区2区3区| 91麻豆精品国产无毒不卡在线观看| 岛国精品在线观看| 精品亚洲aⅴ乱码一区二区三区| 有码一区二区三区| 国产精品视频你懂的| 精品久久久久久综合日本欧美| 在线影视一区二区三区| 丰满少妇久久久久久久| 麻豆精品久久精品色综合| 亚洲国产精品久久人人爱| 国产精品欧美极品| 久久夜色精品国产欧美乱极品| 欧美人成免费网站| 91黄视频在线观看| 99精品视频在线观看| 国产成人av电影免费在线观看| 久久激情综合网| 天天射综合影视| 亚洲一区二区三区四区五区中文| 中文字幕日本乱码精品影院| 久久免费视频色| 精品区一区二区| 日韩一区二区三区四区| 欧美日韩情趣电影| 欧美综合久久久| 色欧美日韩亚洲| caoporen国产精品视频| 国产999精品久久久久久| 国产酒店精品激情| 国产专区欧美精品| 国产精品一区三区| 国产在线观看一区二区| 激情av综合网| 国产在线视视频有精品| 国产美女主播视频一区|