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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hiddkeyboarddriverdescriptors.c

?? useful when developer using ARM7 to interface HID devices like USB Keyboard
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* ----------------------------------------------------------------------------
 *         ATMEL Microcontroller Software Support 
 * ----------------------------------------------------------------------------
 * Copyright (c) 2008, Atmel Corporation
 *
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * - Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the disclaimer below.
 *
 * Atmel's name may not be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * ----------------------------------------------------------------------------
 */

/*
    Title: HIDDKeyboardDriverDescriptors

    About: Purpose
        Declaration of the descriptors used by the HID device keyboard driver.
*/

//------------------------------------------------------------------------------
//         Headers
//------------------------------------------------------------------------------

#include "HIDDKeyboardDriverDescriptors.h"
#include "HIDDKeyboardInputReport.h"
#include "HIDDKeyboardOutputReport.h"
#include <board.h>
#include <usb/common/core/USBDeviceDescriptor.h>
#include <usb/common/core/USBConfigurationDescriptor.h>
#include <usb/common/core/USBInterfaceDescriptor.h>
#include <usb/common/core/USBEndpointDescriptor.h>
#include <usb/common/core/USBStringDescriptor.h>
#include <usb/common/hid/HIDGenericDescriptor.h>
#include <usb/common/hid/HIDDeviceDescriptor.h>
#include <usb/common/hid/HIDInterfaceDescriptor.h>
#include <usb/common/hid/HIDDescriptor.h>
#include <usb/common/hid/HIDReport.h>
#include <usb/common/hid/HIDGenericDesktop.h>
#include <usb/common/hid/HIDLeds.h>
#include <usb/common/hid/HIDKeypad.h>
#include <usb/device/core/USBDDriverDescriptors.h>

//------------------------------------------------------------------------------
//         Definitions
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// \page "HID Device Descriptor IDs"
/// This page lists VID, PID & Release number.
///
/// !IDs
/// - HIDDKeyboardDriverDescriptors_PRODUCTID
/// - HIDDKeyboardDriverDescriptors_VENDORID
/// - HIDDKeyboardDriverDescriptors_RELEASE

/// Device product ID.
#define HIDDKeyboardDriverDescriptors_PRODUCTID       0x6127
/// Device vendor ID.
#define HIDDKeyboardDriverDescriptors_VENDORID        0x03EB
/// Device release number.
#define HIDDKeyboardDriverDescriptors_RELEASE         0x0100
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
//         Internal types
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// List of descriptors that make up the configuration descriptors of a
/// device using the HID keyboard driver.
//------------------------------------------------------------------------------
typedef struct {

    /// Configuration descriptor.
    USBConfigurationDescriptor configuration;
    /// Interface descriptor.
    USBInterfaceDescriptor interface;
    /// HID descriptor.
    HIDDescriptor hid;
    /// Interrupt IN endpoint descriptor.
    USBEndpointDescriptor interruptIn;
    /// Interrupt OUT endpoint descriptor.
    USBEndpointDescriptor interruptOut;

} __attribute__ ((packed)) HIDDKeyboardDriverConfigurationDescriptors;

//------------------------------------------------------------------------------
//         Internal variables
//------------------------------------------------------------------------------

/// Device descriptor.
static const USBDeviceDescriptor deviceDescriptor = {

    sizeof(USBDeviceDescriptor),
    USBGenericDescriptor_DEVICE,
    USBDeviceDescriptor_USB2_00,
    HIDDeviceDescriptor_CLASS,
    HIDDeviceDescriptor_SUBCLASS,
    HIDDeviceDescriptor_PROTOCOL,
    BOARD_USB_ENDPOINTS_MAXPACKETSIZE(0),
    HIDDKeyboardDriverDescriptors_VENDORID,
    HIDDKeyboardDriverDescriptors_PRODUCTID,
    HIDDKeyboardDriverDescriptors_RELEASE,
    1, // Index of manufacturer description
    2, // Index of product description
    3, // Index of serial number description
    1  // One possible configuration
};

#ifdef BOARD_USB_UDPHS
/// Device qualifier descriptor (high-speed only).
static const USBDeviceQualifierDescriptor qualifierDescriptor = {

    sizeof(USBDeviceQualifierDescriptor),
    USBGenericDescriptor_DEVICEQUALIFIER,
    HIDDeviceDescriptor_CLASS,
    HIDDeviceDescriptor_SUBCLASS,
    HIDDeviceDescriptor_PROTOCOL,
    BOARD_USB_ENDPOINTS_MAXPACKETSIZE(0),
    1, // One possible configuration
    0 // Reserved
};
#endif

/// Configuration descriptor.
static const HIDDKeyboardDriverConfigurationDescriptors configurationDescriptors = {

    // Configuration descriptor
    {
        sizeof(USBConfigurationDescriptor),
        USBGenericDescriptor_CONFIGURATION,
        sizeof(HIDDKeyboardDriverConfigurationDescriptors),
        1, // One interface in this configuration
        1, // This is configuration #1
        0, // No associated string descriptor
        BOARD_USB_BMATTRIBUTES,
        USBConfigurationDescriptor_POWER(100)
    },
    // Interface descriptor
    {
        sizeof(USBInterfaceDescriptor),
        USBGenericDescriptor_INTERFACE,
        0, // This is interface #0
        0, // This is alternate setting #0
        2, // Two endpoints used
        HIDInterfaceDescriptor_CLASS,
        HIDInterfaceDescriptor_SUBCLASS_NONE,
        HIDInterfaceDescriptor_PROTOCOL_NONE,
        0  // No associated string descriptor
    },
    // HID descriptor
    {
        sizeof(HIDDescriptor),
        HIDGenericDescriptor_HID,
        HIDDescriptor_HID1_11,
        0, // Device is not localized, no country code
        1, // One HID-specific descriptor (apart from this one)
        HIDGenericDescriptor_REPORT,
        HIDDKeyboardDriverDescriptors_REPORTSIZE
    },
    // Interrupt IN endpoint descriptor
    {
        sizeof(USBEndpointDescriptor),
        USBGenericDescriptor_ENDPOINT,
        USBEndpointDescriptor_ADDRESS(
            USBEndpointDescriptor_IN,
            HIDDKeyboardDriverDescriptors_INTERRUPTIN),
        USBEndpointDescriptor_INTERRUPT,
        sizeof(HIDDKeyboardInputReport),
        HIDDKeyboardDriverDescriptors_INTERRUPTIN_POLLING
    },
    // Interrupt OUT endpoint descriptor
    {
        sizeof(USBEndpointDescriptor),
        USBGenericDescriptor_ENDPOINT,
        USBEndpointDescriptor_ADDRESS(
            USBEndpointDescriptor_OUT,
            HIDDKeyboardDriverDescriptors_INTERRUPTOUT),
        USBEndpointDescriptor_INTERRUPT,
        sizeof(HIDDKeyboardOutputReport),
        HIDDKeyboardDriverDescriptors_INTERRUPTIN_POLLING
    }
};

#ifdef BOARD_USB_UDPHS
/// Other-speed configuration descriptor.
static const HIDDKeyboardDriverConfigurationDescriptors otherSpeedDescriptors = {

    // Configuration descriptor
    {
        sizeof(USBConfigurationDescriptor),
        USBGenericDescriptor_OTHERSPEEDCONFIGURATION,
        sizeof(HIDDKeyboardDriverConfigurationDescriptors),
        1, // One interface in this configuration

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av电影免费观看高清完整版| 国产99精品国产| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美自拍偷拍一区| 日韩三级视频中文字幕| 最新热久久免费视频| 日本不卡高清视频| 色狠狠桃花综合| 久久久精品黄色| 蜜桃av一区二区三区电影| 91一区二区在线| 久久久蜜桃精品| 男男视频亚洲欧美| 欧美色网一区二区| 成人欧美一区二区三区白人| 国产一区二区三区免费看| 欧美二区三区91| 亚洲香肠在线观看| 99久久久久久| 中文字幕成人av| 国产精品一级片在线观看| 91精品欧美久久久久久动漫| 亚洲国产精品欧美一二99| 99久久国产综合精品麻豆| 国产欧美精品国产国产专区 | 国产精品久久久久影院色老大 | 国产精品嫩草久久久久| 国产一区二区不卡老阿姨| 日韩精品一区二区三区蜜臀 | 亚洲精品第1页| 成人av在线资源网站| 国产丝袜欧美中文另类| 精品夜夜嗨av一区二区三区| 欧美一区二区高清| 日本免费新一区视频| 欧美福利一区二区| 午夜不卡av免费| 欧美高清性hdvideosex| 人禽交欧美网站| 日韩免费性生活视频播放| 麻豆精品新av中文字幕| 久久这里只有精品首页| 国产伦精品一区二区三区视频青涩| 日韩一区二区高清| 激情文学综合网| 久久精品亚洲麻豆av一区二区 | 欧美色综合天天久久综合精品| 一区二区三区成人在线视频| 欧美在线短视频| 日韩电影在线免费观看| 2021国产精品久久精品| 国产成人av一区二区三区在线观看| 国产精品免费久久| 91看片淫黄大片一级在线观看| 一区二区三区在线免费视频| 欧美美女激情18p| 久久精品国产亚洲一区二区三区| 26uuu久久天堂性欧美| 丁香啪啪综合成人亚洲小说| 亚洲欧美日韩电影| 欧美绝品在线观看成人午夜影视| 久久精品国产久精国产| 久久久久久久久蜜桃| 99精品热视频| 午夜av一区二区三区| 久久久91精品国产一区二区精品| 99精品1区2区| 久久精品国产成人一区二区三区| 欧美精彩视频一区二区三区| 欧美性猛交xxxx乱大交退制版| 久久国产精品99精品国产| 国产精品久久久久久一区二区三区| 在线观看日韩av先锋影音电影院| 美洲天堂一区二卡三卡四卡视频| 国产清纯在线一区二区www| 一道本成人在线| 国产一区二区三区久久悠悠色av| 夜夜嗨av一区二区三区网页 | 国产成人h网站| 视频在线观看91| 国产精品国产精品国产专区不片| 欧美日韩国产免费一区二区| 风流少妇一区二区| 日韩av不卡一区二区| 亚洲欧美综合另类在线卡通| 日韩欧美高清dvd碟片| 色老汉av一区二区三区| 国产盗摄一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 中文字幕日韩一区| 精品国产亚洲在线| 欧美日韩一二三| av一区二区久久| 国产在线精品免费| 免费高清在线一区| 一区二区三区欧美久久| 久久久精品免费免费| 欧美不卡一区二区三区| 欧美日韩免费观看一区二区三区| 成a人片国产精品| 国产精品911| 国产一区二区三区最好精华液| 丝袜美腿亚洲一区二区图片| 国产精品二三区| 国产欧美日韩视频在线观看| 精品久久久久久久久久久院品网| 欧美精品一卡两卡| 色八戒一区二区三区| 99久精品国产| 91麻豆精品在线观看| 成人开心网精品视频| 国产中文字幕一区| 国产九九视频一区二区三区| 精久久久久久久久久久| 九九视频精品免费| 麻豆精品一二三| 久久99精品久久久| 黄色精品一二区| 国内精品免费**视频| 精品在线一区二区| 久久国产精品一区二区| 精久久久久久久久久久| 国产精品99久久久久久似苏梦涵| 国产精品一品二品| 成人丝袜视频网| 99久久精品免费看| 色8久久人人97超碰香蕉987| 在线观看亚洲a| 91精品国产一区二区| 欧美电视剧免费全集观看| 2021久久国产精品不只是精品| 久久久久久久国产精品影院| 国产目拍亚洲精品99久久精品| 国产欧美视频一区二区| 中文字幕一区在线观看| 亚洲曰韩产成在线| 日韩va欧美va亚洲va久久| 久久激情五月婷婷| 高清不卡在线观看| 一本高清dvd不卡在线观看| 欧美日本一区二区三区四区| 日韩亚洲欧美一区二区三区| 久久久久久久久岛国免费| ...av二区三区久久精品| 亚洲午夜精品一区二区三区他趣| 麻豆精品一二三| 成人aa视频在线观看| 欧美美女bb生活片| 国产亚洲欧美色| 亚洲精品国产一区二区精华液| 日韩av高清在线观看| 成人免费观看视频| 欧美在线一二三| 久久综合九色综合97_久久久| 国产精品无圣光一区二区| 亚洲无线码一区二区三区| 狠狠狠色丁香婷婷综合激情| 一本大道久久a久久综合婷婷 | 国产偷国产偷精品高清尤物| 亚洲综合色婷婷| 国产激情精品久久久第一区二区 | 亚洲乱码一区二区三区在线观看| 日韩精品免费视频人成| 成人av资源站| 日韩免费观看高清完整版 | 色综合一区二区三区| 欧美一二三四区在线| 亚洲品质自拍视频网站| 国产剧情一区二区三区| 在线播放国产精品二区一二区四区| 国产欧美一区二区在线| 蜜桃av一区二区在线观看| 色哟哟日韩精品| 国产区在线观看成人精品| 日本不卡不码高清免费观看| 91美女视频网站| 久久色.com| 紧缚奴在线一区二区三区| 欧美日韩精品福利| 亚洲婷婷综合色高清在线| 国产精品影视网| 9191成人精品久久| 亚洲高清不卡在线观看| 色综合久久久久综合体| 欧美国产日产图区| 免费成人av资源网| 在线观看91精品国产麻豆| 夜色激情一区二区| av亚洲精华国产精华| 国产欧美综合在线观看第十页 | 亚洲成人资源网| 色婷婷国产精品| 亚洲天堂福利av| 成人av网站在线观看| 国产视频在线观看一区二区三区 | 成人av集中营| 国产精品网站在线| 国产91精品久久久久久久网曝门| 2021久久国产精品不只是精品| 久久成人免费电影|