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

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

?? usbhost_lpc2468.h

?? NXP LPC24xx USB Hsot Lite
?? H
字號:
/*
**************************************************************************************************************
*                                                 NXP USB Host Stack
*
*                                     (c) Copyright 2008, NXP SemiConductors
*                                     (c) Copyright 2008, OnChip  Technologies LLC
*                                                 All Rights Reserved
*
*                                                  www.nxp.com
*                                               www.onchiptech.com
*
* File           : usbhost_lpc2468.h
* Programmer(s)  : Ravikanth.P
* Version        :
*
**************************************************************************************************************
*/

#ifndef USBHOST_LPC2468_H
#define USBHOST_LPC2468_H

/*
**************************************************************************************************************
*                                       INCLUDE HEADER FILES
**************************************************************************************************************
*/

#include    <LPC23xx.h>
#include    "usbhost_inc.h"

/*
**************************************************************************************************************
*                                        PRINT CONFIGURATION
**************************************************************************************************************
*/

#define  PRINT_ENABLE         1

#if PRINT_ENABLE
#define  PRINT_Log(...)       UART_Printf(__VA_ARGS__)
#define  PRINT_Err(rc)        UART_Printf("ERROR: In %s at Line %u - rc = %d\n", __FUNCTION__, __LINE__, rc)

#else 
#define  PRINT_Log(...)       do {} while(0)
#define  PRINT_Err(rc)        do {} while(0)

#endif

/*
**************************************************************************************************************
*                                        GENERAL DEFINITIONS
**************************************************************************************************************
*/

#define  DESC_LENGTH(x)  x[0]
#define  DESC_TYPE(x)    x[1]


#define  HOST_GET_DESCRIPTOR(descType, descIndex, data, length)                      \
         Host_CtrlRecv(USB_DEVICE_TO_HOST | USB_RECIPIENT_DEVICE, GET_DESCRIPTOR,    \
         (descType << 8)|(descIndex), 0, length, data)

#define  HOST_SET_ADDRESS(new_addr)                                                  \
         Host_CtrlSend(USB_HOST_TO_DEVICE | USB_RECIPIENT_DEVICE, SET_ADDRESS,       \
         new_addr, 0, 0, NULL)

#define  USBH_SET_CONFIGURATION(configNum)                                           \
         Host_CtrlSend(USB_HOST_TO_DEVICE | USB_RECIPIENT_DEVICE, SET_CONFIGURATION, \
         configNum, 0, 0, NULL)

#define  USBH_SET_INTERFACE(ifNum, altNum)                                           \
         Host_CtrlSend(USB_HOST_TO_DEVICE | USB_RECIPIENT_INTERFACE, SET_INTERFACE,  \
         altNum, ifNum, 0, NULL)

/*
**************************************************************************************************************
*                                    OHCI OPERATIONAL REGISTER DEFINITIONS
**************************************************************************************************************
*/

#define  HcControl            *((volatile USB_INT32U*)((USB_INT32U)0xFFE0C004))
#define  HcCommandStatus      *((volatile USB_INT32U*)((USB_INT32U)0xFFE0C008))
#define  HcInterruptStatus    *((volatile USB_INT32U*)((USB_INT32U)0xFFE0C00C))
#define  HcInterruptEnable    *((volatile USB_INT32U*)((USB_INT32U)0xFFE0C010))
#define  HcHCCA               *((volatile USB_INT32U*)((USB_INT32U)0xFFE0C018))
#define  HcControlHeadED      *((volatile USB_INT32U*)((USB_INT32U)0xFFE0C020))
#define  HcBulkHeadED         *((volatile USB_INT32U*)((USB_INT32U)0xFFE0C028))
#define  HcFmInterval         *((volatile USB_INT32U*)((USB_INT32U)0xFFE0C034))
#define  HcRhStatus           *((volatile USB_INT32U*)((USB_INT32U)0xFFE0C050))
#define  HcRhPortStatus       *((volatile USB_INT32U*)((USB_INT32U)0xFFE0C058))

/*
**************************************************************************************************************
*                                  OHCI OPERATIONAL REGISTER FIELD DEFINITIONS
**************************************************************************************************************
*/

                                            /* ------------------ HcControl Register ---------------------  */
#define  OR_CONTROL_CLE                 0x00000010
#define  OR_CONTROL_BLE                 0x00000020
#define  OR_CONTROL_HCFS                0x000000C0
#define  OR_CONTROL_HC_OPER             0x00000080
                                            /* ----------------- HcCommandStatus Register ----------------- */
#define  OR_CMD_STATUS_HCR              0x00000001
#define  OR_CMD_STATUS_CLF              0x00000002
#define  OR_CMD_STATUS_BLF              0x00000004
                                            /* --------------- HcInterruptStatus Register ----------------- */
#define  OR_INTR_STATUS_WDH             0x00000002
#define  OR_INTR_STATUS_RHSC            0x00000040
                                            /* --------------- HcInterruptEnable Register ----------------- */
#define  OR_INTR_ENABLE_WDH             0x00000002
#define  OR_INTR_ENABLE_RHSC            0x00000040
#define  OR_INTR_ENABLE_MIE             0x80000000
                                            /* ---------------- HcRhDescriptorA Register ------------------ */
#define  OR_RH_STATUS_LPSC              0x00010000
                                            /* -------------- HcRhPortStatus[1:NDP] Register -------------- */
#define  OR_RH_PORT_CCS                 0x00000001
#define  OR_RH_PORT_PRS                 0x00000010
#define  OR_RH_PORT_CSC                 0x00010000
#define  OR_RH_PORT_PRSC                0x00100000


/*
**************************************************************************************************************
*                                               FRAME INTERVAL
**************************************************************************************************************
*/

#define  FI                     0x2EDF           /* 12000 bits per frame (-1)                               */
#define  DEFAULT_FMINTERVAL     ((((6 * (FI - 210)) / 7) << 16) | FI)

/*
**************************************************************************************************************
*                                       TRANSFER DESCRIPTOR CONTROL FIELDS
**************************************************************************************************************
*/

#define  TD_ROUNDING        (USB_INT32U) (0x00040000)        /* Buffer Rounding                             */
#define  TD_SETUP           (USB_INT32U)(0)                  /* Direction of Setup Packet                   */
#define  TD_IN              (USB_INT32U)(0x00100000)         /* Direction In                                */
#define  TD_OUT             (USB_INT32U)(0x00080000)         /* Direction Out                               */
#define  TD_DELAY_INT(x)    (USB_INT32U)((x) << 21)          /* Delay Interrupt                             */
#define  TD_TOGGLE_0        (USB_INT32U)(0x02000000)         /* Toggle 0                                    */
#define  TD_TOGGLE_1        (USB_INT32U)(0x03000000)         /* Toggle 1                                    */
#define  TD_CC              (USB_INT32U)(0xF0000000)         /* Completion Code                             */

/*
**************************************************************************************************************
*                                       USB STANDARD REQUEST DEFINITIONS
**************************************************************************************************************
*/

#define  USB_DESCRIPTOR_TYPE_DEVICE                     1
#define  USB_DESCRIPTOR_TYPE_CONFIGURATION              2
#define  USB_DESCRIPTOR_TYPE_INTERFACE                  4
#define  USB_DESCRIPTOR_TYPE_ENDPOINT                   5
                                                    /*  ----------- Control RequestType Fields  ----------- */
#define  USB_DEVICE_TO_HOST         0x80
#define  USB_HOST_TO_DEVICE         0x00
#define  USB_REQUEST_TYPE_CLASS     0x20
#define  USB_RECIPIENT_DEVICE       0x00
#define  USB_RECIPIENT_INTERFACE    0x01
                                                    /* -------------- USB Standard Requests  -------------- */
#define  SET_ADDRESS                 5
#define  GET_DESCRIPTOR              6
#define  SET_CONFIGURATION           9
#define  SET_INTERFACE              11

/*
**************************************************************************************************************
*                                       TYPE DEFINITIONS
**************************************************************************************************************
*/

typedef struct hcEd {                       /* ----------- HostController EndPoint Descriptor ------------- */
    volatile  USB_INT32U  Control;              /* Endpoint descriptor control                              */
    volatile  USB_INT32U  TailTd;               /* Physical address of tail in Transfer descriptor list     */
    volatile  USB_INT32U  HeadTd;               /* Physcial address of head in Transfer descriptor list     */
    volatile  USB_INT32U  Next;                 /* Physical address of next Endpoint descriptor             */
} HCED;

typedef struct hcTd {                       /* ------------ HostController Transfer Descriptor ------------ */
    volatile  USB_INT32U  Control;              /* Transfer descriptor control                              */
    volatile  USB_INT32U  CurrBufPtr;           /* Physical address of current buffer pointer               */
    volatile  USB_INT32U  Next;                 /* Physical pointer to next Transfer Descriptor             */
    volatile  USB_INT32U  BufEnd;               /* Physical address of end of buffer                        */
} HCTD;

typedef struct hcca {                       /* ----------- Host Controller Communication Area ------------  */
    volatile  USB_INT32U  IntTable[32];         /* Interrupt Table                                          */
    volatile  USB_INT32U  FrameNumber;          /* Frame Number                                             */
    volatile  USB_INT32U  DoneHead;             /* Done Head                                                */
    volatile  USB_INT08U  Reserved[116];        /* Reserved for future use                                  */
    volatile  USB_INT08U  Unknown[4];           /* Unused                                                   */
} HCCA;

/*
**************************************************************************************************************
*                                     EXTERN DECLARATIONS
**************************************************************************************************************
*/

extern  volatile  HCED        *EDBulkIn;        /* BulkIn endpoint descriptor  structure                    */
extern  volatile  HCED        *EDBulkOut;       /* BulkOut endpoint descriptor structure                    */
extern  volatile  HCTD        *TDHead;          /* Head transfer descriptor structure                       */
extern  volatile  HCTD        *TDTail;          /* Tail transfer descriptor structure                       */
extern  volatile  USB_INT08U  *TDBuffer;        /* Current Buffer Pointer of transfer descriptor            */
extern  volatile  USB_INT08U  *FATBuffer;       /* Buffer used by FAT file system                           */
extern  volatile  USB_INT08U  *UserBuffer;      /* Buffer used by application                               */

/*
**************************************************************************************************************
*                                       FUNCTION PROTOTYPES
**************************************************************************************************************
*/

void        Host_Init     (void);

void        Host_Isr      (void) __irq;

USB_INT32S  Host_EnumDev  (void);

USB_INT32S  Host_ProcessTD(volatile  HCED       *ed,
                           volatile  USB_INT32U  token,
                           volatile  USB_INT08U *buffer,
                                     USB_INT32U  buffer_len);

void        Host_DelayUS  (          USB_INT32U    delay);
void        Host_DelayMS  (          USB_INT32U    delay);


void        Host_TDInit   (volatile  HCTD *td);
void        Host_EDInit   (volatile  HCED *ed);
void        Host_HCCAInit (volatile  HCCA  *hcca);

USB_INT32S  Host_CtrlRecv (          USB_INT08U   bm_request_type,
                                     USB_INT08U   b_request,
                                     USB_INT16U   w_value,
                                     USB_INT16U   w_index,
                                     USB_INT16U   w_length,
                           volatile  USB_INT08U  *buffer);

USB_INT32S  Host_CtrlSend (          USB_INT08U   bm_request_type,
                                     USB_INT08U   b_request,
                                     USB_INT16U   w_value,
                                     USB_INT16U   w_index,
                                     USB_INT16U   w_length,
                           volatile  USB_INT08U  *buffer);

void        Host_FillSetup(          USB_INT08U   bm_request_type,
                                     USB_INT08U   b_request,
                                     USB_INT16U   w_value,
                                     USB_INT16U   w_index,
                                     USB_INT16U   w_length);


void        Host_WDHWait  (void);


USB_INT32U  ReadLE32U     (volatile  USB_INT08U  *pmem);
void        WriteLE32U    (volatile  USB_INT08U  *pmem,
                                     USB_INT32U   val);
USB_INT16U  ReadLE16U     (volatile  USB_INT08U  *pmem);
void        WriteLE16U    (volatile  USB_INT08U  *pmem,
                                     USB_INT16U   val);
USB_INT32U  ReadBE32U     (volatile  USB_INT08U  *pmem);
void        WriteBE32U    (volatile  USB_INT08U  *pmem,
                                     USB_INT32U   val);
USB_INT16U  ReadBE16U     (volatile  USB_INT08U  *pmem);
void        WriteBE16U    (volatile  USB_INT08U  *pmem,
                                     USB_INT16U   val);

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品电影一区二区| 久久影院午夜论| 亚洲国产一区视频| 在线亚洲免费视频| 亚洲成人免费av| 欧美精品一二三| 美女精品自拍一二三四| 久久久久久久久久久久久女国产乱 | 国产99久久久国产精品潘金| 国产午夜亚洲精品理论片色戒| av一本久道久久综合久久鬼色| 亚洲女同一区二区| 欧美日韩视频第一区| 麻豆精品视频在线观看免费| 国产人妖乱国产精品人妖| 99riav一区二区三区| 午夜欧美在线一二页| 精品理论电影在线| 99re8在线精品视频免费播放| 亚洲综合免费观看高清在线观看| 日韩午夜激情av| 99久久精品免费看| 日韩av在线免费观看不卡| 国产日产欧美一区| 91黄色免费看| 国产成人综合网站| 午夜欧美视频在线观看| 久久精品视频在线看| 在线观看一区不卡| 国产精品自拍三区| 亚洲午夜久久久久久久久电影院| 精品国产a毛片| 色综合 综合色| 国内精品不卡在线| 亚洲成人在线观看视频| 欧美极品aⅴ影院| 日韩亚洲欧美在线| 欧美在线视频你懂得| 成人一区在线观看| 免费成人美女在线观看| 亚洲一区二区视频在线| 国产日产欧产精品推荐色| 欧美精品乱码久久久久久按摩| 成人免费视频caoporn| 免费成人av在线播放| 亚洲国产日韩a在线播放性色| 国产欧美一区二区精品忘忧草| 4438x亚洲最大成人网| 99在线视频精品| 国产麻豆日韩欧美久久| 日本vs亚洲vs韩国一区三区| 一区二区三区国产精品| 国产视频一区在线播放| 欧美日韩精品是欧美日韩精品| 国产福利不卡视频| 久久成人综合网| 亚洲精品成a人| 国产日韩欧美精品一区| 欧美一区二区播放| 色综合婷婷久久| 国产福利一区在线观看| 久久综合九色综合97婷婷女人| 国产成人一区在线| 青青国产91久久久久久| 一区二区三区精品在线| 国产亚洲精品久| 欧美日韩国产一二三| av不卡一区二区三区| 久久黄色级2电影| 亚洲国产三级在线| 亚洲摸摸操操av| 国产夜色精品一区二区av| 91麻豆精品国产91久久久久久| 99国产精品国产精品久久| 国产河南妇女毛片精品久久久| 男女男精品视频网| 亚洲人成网站精品片在线观看| 中文av一区二区| 精品乱码亚洲一区二区不卡| 欧美一区二区在线视频| 91福利视频在线| 94-欧美-setu| 成人av影视在线观看| 国产mv日韩mv欧美| 国产精品一区二区果冻传媒| 久久精品免费观看| 亚洲成人激情av| 天天色综合成人网| 日韩精彩视频在线观看| 爽爽淫人综合网网站| 亚洲超丰满肉感bbw| 青青草视频一区| 精品午夜久久福利影院| 狠狠色狠狠色综合| 国内精品国产成人| 国产综合成人久久大片91| 午夜激情久久久| 蜜桃视频在线观看一区二区| 美女www一区二区| 顶级嫩模精品视频在线看| 成人精品小蝌蚪| 成人动漫中文字幕| 色综合久久综合中文综合网| 色香蕉久久蜜桃| 欧美日韩一区小说| 日韩欧美美女一区二区三区| 精品久久久久久最新网址| 国产精品卡一卡二卡三| 亚洲裸体xxx| 亚洲成人av电影| 日本麻豆一区二区三区视频| 国产一区 二区| www.欧美色图| 日本韩国欧美在线| 欧美影院一区二区| 久久精品日产第一区二区三区高清版 | 亚洲欧洲av一区二区三区久久| 亚洲蜜臀av乱码久久精品| 亚洲国产精品人人做人人爽| 天堂成人国产精品一区| 成人免费高清视频在线观看| 色婷婷久久综合| 日韩欧美一区二区视频| 欧美国产日韩一二三区| 亚洲色图20p| 午夜精品一区二区三区电影天堂 | 日本在线不卡一区| 国产高清成人在线| 欧美在线999| 在线欧美一区二区| 国产日韩欧美不卡| 亚洲国产精品一区二区尤物区| 美美哒免费高清在线观看视频一区二区| 国产精品资源在线观看| 91国产视频在线观看| 欧美大黄免费观看| 亚洲男人电影天堂| 国产在线一区二区综合免费视频| 国产一区二区三区最好精华液| 欧美日韩精品三区| 国产精品午夜春色av| 亚洲成人动漫在线免费观看| 国产黄人亚洲片| 经典一区二区三区| eeuss影院一区二区三区| 欧美日免费三级在线| 欧美激情在线免费观看| 亚洲.国产.中文慕字在线| 日本成人超碰在线观看| 欧美日韩中文字幕一区| 中文av一区二区| 国产一区二区在线视频| 91精品国产综合久久久蜜臀图片| 国产精品成人一区二区艾草| 日韩黄色免费电影| 91福利精品第一导航| 国产午夜亚洲精品理论片色戒| 捆绑调教一区二区三区| 欧美亚洲高清一区| 亚洲欧洲av在线| 国产91精品一区二区麻豆网站| 91精品婷婷国产综合久久| 亚洲精品视频在线观看免费| 国产91丝袜在线18| 欧美一二区视频| 久久99久久精品| 欧美日韩黄色一区二区| 亚洲精品精品亚洲| 成人黄动漫网站免费app| 久久久精品2019中文字幕之3| 奇米影视7777精品一区二区| 欧美情侣在线播放| 视频一区二区三区在线| 欧美精品在线一区二区| 午夜欧美视频在线观看| 欧美日韩在线综合| 亚洲国产你懂的| 欧美午夜寂寞影院| 亚洲国产精品久久久男人的天堂| av资源网一区| 国产亚洲精品bt天堂精选| 国产精品一区二区果冻传媒| 久久久久国产精品麻豆ai换脸| 裸体一区二区三区| 欧美不卡视频一区| 国产美女在线精品| 久久精品无码一区二区三区| 972aa.com艺术欧美| 亚洲人成网站精品片在线观看| 99久久夜色精品国产网站| 中文字幕日韩精品一区| 97se亚洲国产综合自在线不卡| 一区二区三区在线免费播放 | 国产一区二区三区观看| 欧美日本一区二区| 亚洲精品成人天堂一二三| 欧美一区二区视频在线观看2022| 日韩国产高清在线| 精品电影一区二区| 岛国av在线一区|