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

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

?? usbendpointdescriptor.h

?? AT91SAM9263的USB Device端口驅動
?? H
字號:
/* ----------------------------------------------------------------------------
 *         ATMEL Microcontroller Software Support  -  ROUSSET  -
 * ----------------------------------------------------------------------------
 * Copyright (c) 2006, 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 disclaiimer below.
 * 
 * - Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the disclaimer below in the documentation and/or
 * other materials provided with the distribution. 
 * 
 * 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: USBEndpointDescriptor

    About: Purpose
        Definition of a class for handling USB endpoint descriptors.
*/

#ifndef USBENDPOINTDESCRIPTOR_H
#define USBENDPOINTDESCRIPTOR_H

//------------------------------------------------------------------------------
//         Definitions
//------------------------------------------------------------------------------
/*
    Constants: Endpoint directions
        USBEndpointDescriptor_OUT - Endpoint receives data from the host.
        USBEndpointDescriptor_IN - Endpoint sends data to the host.
*/
#define USBEndpointDescriptor_OUT           0
#define USBEndpointDescriptor_IN            1

/*
    Constants: Endpoint types
        USBEndpointDescriptor_CONTROL - Control endpoint type.
        USBEndpointDescriptor_ISOCHRONOUS - Isochronous endpoint type.
        USBEndpointDescriptor_BULK - Bulk endpoint type.
        USBEndpointDescriptor_INTERRUPT - Interrupt endpoint type.
*/
#define USBEndpointDescriptor_CONTROL       0
#define USBEndpointDescriptor_ISOCHRONOUS   1
#define USBEndpointDescriptor_BULK          2
#define USBEndpointDescriptor_INTERRUPT     3

/// Maximum size for a full-speed control endpoint.
#define USBEndpointDescriptor_MAXCTRLSIZE_FS                64
/// Maximum size for a high-speed control endpoint.
#define USBEndpointDescriptor_MAXCTRLSIZE_HS                64
/// Maximum size for a full-speed bulk endpoint.
#define USBEndpointDescriptor_MAXBULKSIZE_FS                64
/// Maximum size for a high-speed bulk endpoint.
#define USBEndpointDescriptor_MAXBULKSIZE_HS                512
/// Maximum size for a full-speed interrupt endpoint.
#define USBEndpointDescriptor_MAXINTERRUPTSIZE_FS           64
/// Maximum size for a high-speed interrupt endpoint.
#define USBEndpointDescriptor_MAXINTERRUPTSIZE_HS           1024
/// Maximum size for a full-speed isochronous endpoint.
#define USBEndpointDescriptor_MAXISOCHRONOUSSIZE_FS         1023
/// Maximum size for a high-speed isochronous endpoint.
#define USBEndpointDescriptor_MAXISOCHRONOUSSIZE_HS         1024

/*
    Macro: USBEndpointDescriptor_ADDRESS
        Calculates the address of an endpoint given its number and direction
        (see <Directions>).
*/
#define USBEndpointDescriptor_ADDRESS(direction, number) \
    (((direction & 0x01) << 7) | (number & 0xF))

//------------------------------------------------------------------------------
//         Types
//------------------------------------------------------------------------------

#ifdef __ICCARM__          // IAR
#pragma pack(1)            // IAR
#define __attribute__(...) // IAR
#endif                     // IAR

/*
    Type: USBEndpointDescriptor
        USB standard endpoint descriptor structure.

    Variables:
        bLength - Size of the descriptor in bytes.
        bDescriptorType - Descriptor type (<USBGenericDescriptor_ENDPOINT>).
        bEndpointAddress - Address and direction of the endpoint.
        bmAttributes - Endpoint type and additional characteristics (for
                       isochronous endpoints).
        wMaxPacketSize - Maximum packet size (in bytes) of the endpoint.
        bInterval - Polling rate of the endpoint.
*/
typedef struct {

   unsigned char bLength;         
   unsigned char bDescriptorType; 
   unsigned char bEndpointAddress;                   
   unsigned char bmAttributes;    
   unsigned short wMaxPacketSize;                      
   unsigned char bInterval;       
                                   
} __attribute__ ((packed)) USBEndpointDescriptor; // GCC

#ifdef __ICCARM__          // IAR
#pragma pack()             // IAR
#endif                     // IAR

//------------------------------------------------------------------------------
//         Exported functions
//------------------------------------------------------------------------------
/*
    Function: USBEndpointDescriptor_GetNumber
        Returns the number of an endpoint given its descriptor.

    Parameters:
        endpoint - Pointer to a USBEndpointDescriptor instance.

    Returns:
        Endpoint number.
*/
extern unsigned char USBEndpointDescriptor_GetNumber(
    const USBEndpointDescriptor *endpoint);

/*
    Function: USBEndpointDescriptor_GetDirection
        Returns the direction of an endpoint given its descriptor.

    Parameters:
        endpoint - Pointer to a USBEndpointDescriptor instance.

    Returns:
        Endpoint direction (see <Endpoint directions>).
*/
extern unsigned char USBEndpointDescriptor_GetDirection(
    const USBEndpointDescriptor *endpoint);

/*
    Function: USBEndpointDescriptor_GetType
        Returns the type of an endpoint given its descriptor.

    Parameters:
        endpoint - Pointer to a USBEndpointDescriptor instance.

    Returns:
        Endpoint type (see <Endpoint types>).
*/
extern unsigned char USBEndpointDescriptor_GetType(
    const USBEndpointDescriptor *endpoint);

/*
    Function: USBEndpointDescriptor_GetMaxPacketSize
        Returns the maximum size of a packet (in bytes) on an endpoint given
        its descriptor.

    Parameters:
        endpoint - Pointer to a USBEndpointDescriptor instance.

    Returns:
        Maximum packet size of endpoint.
*/
extern unsigned short USBEndpointDescriptor_GetMaxPacketSize(
    const USBEndpointDescriptor *endpoint);

#endif //#ifndef USBENDPOINTDESCRIPTOR_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看免费亚洲| 福利一区福利二区| 自拍偷拍亚洲欧美日韩| 国产亚洲美州欧州综合国| 欧美日韩精品欧美日韩精品 | 国产午夜精品在线观看| 日韩欧美在线1卡| 精品久久久久香蕉网| 亚洲精品在线观看网站| 国产亚洲精品bt天堂精选| 久久精品夜色噜噜亚洲aⅴ| 国产三级一区二区| 欧美国产日韩在线观看| 日韩理论在线观看| 亚洲影视在线观看| 麻豆精品蜜桃视频网站| 狠狠色丁香婷婷综合| 成人一区二区三区在线观看| 成人高清视频免费观看| 欧美在线免费观看视频| 911国产精品| 久久久久久一二三区| 国产精品二三区| 香蕉av福利精品导航| 久久国产精品区| 91亚洲精品久久久蜜桃| 欧美日韩高清不卡| 久久久高清一区二区三区| 1区2区3区欧美| 日韩av中文在线观看| 丁香婷婷综合色啪| 欧美日韩在线不卡| 国产欧美日韩亚州综合 | 亚洲图片有声小说| 久久精品国产99国产| 成人免费视频网站在线观看| 欧美日韩一区精品| 久久久99久久精品欧美| 亚洲一区在线观看免费 | 91成人国产精品| 日韩欧美中文字幕公布| 国产精品三级在线观看| 日韩中文字幕亚洲一区二区va在线 | 日本一区二区三区四区| 午夜视频在线观看一区二区 | 青娱乐精品视频在线| 波多野结衣视频一区| 91精品在线免费观看| 国产精品少妇自拍| 国产综合色在线| 欧美丝袜丝交足nylons| 中文字幕在线视频一区| 久草热8精品视频在线观看| 色系网站成人免费| 久久久精品免费观看| 日本v片在线高清不卡在线观看| 99精品久久免费看蜜臀剧情介绍| 欧美videossexotv100| 亚洲第四色夜色| 一本色道久久综合亚洲aⅴ蜜桃| 久久久久久9999| 另类小说视频一区二区| 欧美日韩久久一区二区| 夜夜嗨av一区二区三区网页| 国产成人一区二区精品非洲| 在线综合视频播放| 一二三四社区欧美黄| 在线免费精品视频| 亚洲六月丁香色婷婷综合久久 | 亚洲自拍与偷拍| 91蜜桃免费观看视频| 亚洲欧洲精品一区二区精品久久久 | 欧美日韩不卡在线| 亚洲一卡二卡三卡四卡 | 精品国产人成亚洲区| 精品在线播放午夜| www成人在线观看| 国产精品亚洲专一区二区三区| 日韩免费观看高清完整版 | 国内精品国产三级国产a久久| 精品久久国产老人久久综合| 蜜臀av在线播放一区二区三区 | 国产欧美精品一区二区三区四区| 国产综合久久久久影院| 国产网站一区二区| 成人av在线影院| 亚洲激情欧美激情| 欧美日韩一区二区电影| 日韩av高清在线观看| 久久精品视频一区二区| 久久激情五月婷婷| 国产亚洲视频系列| 成人黄动漫网站免费app| 亚洲天堂网中文字| 色噜噜狠狠色综合欧洲selulu| 亚洲自拍偷拍欧美| 欧美大片一区二区| 国产成人在线视频网址| 亚洲欧美日韩国产一区二区三区 | 99re热视频精品| 亚洲一区在线视频| 精品对白一区国产伦| 国产乱子伦一区二区三区国色天香| 欧美精品一区二区三区在线播放| 丁香啪啪综合成人亚洲小说| 亚洲精品亚洲人成人网在线播放| 4438x成人网最大色成网站| 国产裸体歌舞团一区二区| 亚洲欧洲精品天堂一级| 91精品国产综合久久久久久漫画| 国产一区二区剧情av在线| 亚洲精品免费播放| 2023国产精品| 91在线无精精品入口| 久久er精品视频| 亚洲男同性恋视频| 26uuu色噜噜精品一区二区| 99久久综合精品| 久久国产乱子精品免费女| 亚洲激情校园春色| 亚洲国产精品v| 欧美一区二区国产| 91在线观看美女| 欧美三日本三级三级在线播放| 国产在线精品一区二区不卡了| 亚洲激情在线激情| 国产精品短视频| 国产色产综合色产在线视频| 欧美二区乱c少妇| 91免费观看在线| 国产不卡视频在线观看| 久久99精品一区二区三区| 亚洲午夜视频在线| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 4438x成人网最大色成网站| 色av一区二区| 色香蕉久久蜜桃| fc2成人免费人成在线观看播放| 精品一区二区av| 另类小说色综合网站| 蜜芽一区二区三区| 日韩精品一二区| 日本亚洲天堂网| 五月天网站亚洲| 午夜精品久久久久久久久| 亚洲激情在线播放| 亚洲人成精品久久久久| 亚洲视频香蕉人妖| 日韩一区欧美一区| 欧美极品少妇xxxxⅹ高跟鞋| 2022国产精品视频| 国产精品视频第一区| 国产免费久久精品| 国产欧美日韩激情| 中文字幕在线观看不卡| 中文字幕日本乱码精品影院| 国产精品久久久久影院| 中文字幕一区二区在线播放| 国产精品五月天| 亚洲欧美色图小说| 一区二区国产视频| 天天亚洲美女在线视频| 青青草视频一区| 国产精品一区一区三区| 成人久久久精品乱码一区二区三区| 国产不卡一区视频| 色综合久久久久久久久久久| 欧美色倩网站大全免费| 欧美精品vⅰdeose4hd| 精品久久久久久久一区二区蜜臀| 精品国产乱码久久久久久图片 | 成人免费在线视频观看| 亚洲精品国产成人久久av盗摄| 亚洲一区在线观看视频| 日韩福利视频网| 国产在线国偷精品免费看| www.亚洲激情.com| 欧美日韩亚洲综合一区| www.日韩在线| 国产精品毛片大码女人| 亚洲视频一区二区在线观看| 亚洲综合一二三区| 日本vs亚洲vs韩国一区三区二区 | 欧美成人aa大片| 欧美极品少妇xxxxⅹ高跟鞋| 一区二区三区在线视频播放 | 9人人澡人人爽人人精品| 欧美专区在线观看一区| 精品国产一区二区三区不卡 | 日韩av电影天堂| 成人一区二区三区在线观看| 色噜噜狠狠一区二区三区果冻| 精品少妇一区二区三区日产乱码 | 久久久久久久久久久久久夜| 亚洲女人小视频在线观看| 奇米777欧美一区二区| 一本大道av一区二区在线播放| 精品美女一区二区| 亚洲激情中文1区| 粉嫩av一区二区三区|