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

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

?? usb_regs.h

?? 萬(wàn)利開(kāi)發(fā)板上的lcd例程
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
* File Name          : usb_regs.h
* Author             : MCD Application Team
* Version            : V1.0
* Date               : 10/08/2007
* Description        : Interface prototype functions to USB cell registers
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __USB_REGS_H
#define __USB_REGS_H

/* Includes ------------------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
typedef enum _EP_DBUF_DIR
{
  /* double buffered endpoint direction */
  EP_DBUF_ERR,
  EP_DBUF_OUT,
  EP_DBUF_IN
}EP_DBUF_DIR;

/* endpoint buffer number */
enum EP_BUF_NUM
{
  EP_NOBUF,
  EP_BUF0,
  EP_BUF1
};

/* Exported constants --------------------------------------------------------*/
#define RegBase  (0x40005C00L)  /* USB_IP Peripheral Registers base address */
#define PMAAddr  (0x40006000L)  /* USB_IP Packet Memory Area base address   */

/******************************************************************************/
/*                         General registers                                  */
/******************************************************************************/

/* Control register */
#define CNTR    ((volatile unsigned *)(RegBase + 0x40))
/* Interrupt status register */
#define ISTR    ((volatile unsigned *)(RegBase + 0x44))
/* Frame number register */
#define FNR     ((volatile unsigned *)(RegBase + 0x48))
/* Device address register */
#define DADDR   ((volatile unsigned *)(RegBase + 0x4C))
/* Buffer Table address register */
#define BTABLE  ((volatile unsigned *)(RegBase + 0x50))
/******************************************************************************/
/*                         Endpoint registers                                 */
/******************************************************************************/
#define EP0REG  ((volatile unsigned *)(RegBase)) /* endpoint 0 register address */

/* endpoints enumeration */
#define ENDP0   ((u8)0)
#define ENDP1   ((u8)1)
#define ENDP2   ((u8)2)
#define ENDP3   ((u8)3)
#define ENDP4   ((u8)4)
#define ENDP5   ((u8)5)
#define ENDP6   ((u8)6)
#define ENDP7   ((u8)7)
/******************************************************************************/
/*                       ISTR interrupt events                                */
/******************************************************************************/
#define ISTR_CTR    (0x8000) /* Correct TRansfer (clear-only bit) */
#define ISTR_DOVR   (0x4000) /* DMA OVeR/underrun (clear-only bit) */
#define ISTR_ERR    (0x2000) /* ERRor (clear-only bit) */
#define ISTR_WKUP   (0x1000) /* WaKe UP (clear-only bit) */
#define ISTR_SUSP   (0x0800) /* SUSPend (clear-only bit) */
#define ISTR_RESET  (0x0400) /* RESET (clear-only bit) */
#define ISTR_SOF    (0x0200) /* Start Of Frame (clear-only bit) */
#define ISTR_ESOF   (0x0100) /* Expected Start Of Frame (clear-only bit) */


#define ISTR_DIR    (0x0010)  /* DIRection of transaction (read-only bit)  */
#define ISTR_EP_ID  (0x000F)  /* EndPoint IDentifier (read-only bit)  */

#define CLR_CTR    (~ISTR_CTR)   /* clear Correct TRansfer bit */
#define CLR_DOVR   (~ISTR_DOVR)  /* clear DMA OVeR/underrun bit*/
#define CLR_ERR    (~ISTR_ERR)   /* clear ERRor bit */
#define CLR_WKUP   (~ISTR_WKUP)  /* clear WaKe UP bit     */
#define CLR_SUSP   (~ISTR_SUSP)  /* clear SUSPend bit     */
#define CLR_RESET  (~ISTR_RESET) /* clear RESET bit      */
#define CLR_SOF    (~ISTR_SOF)   /* clear Start Of Frame bit   */
#define CLR_ESOF   (~ISTR_ESOF)  /* clear Expected Start Of Frame bit */

/******************************************************************************/
/*             CNTR control register bits definitions                         */
/******************************************************************************/
#define CNTR_CTRM   (0x8000) /* Correct TRansfer Mask */
#define CNTR_DOVRM  (0x4000) /* DMA OVeR/underrun Mask */
#define CNTR_ERRM   (0x2000) /* ERRor Mask */
#define CNTR_WKUPM  (0x1000) /* WaKe UP Mask */
#define CNTR_SUSPM  (0x0800) /* SUSPend Mask */
#define CNTR_RESETM (0x0400) /* RESET Mask   */
#define CNTR_SOFM   (0x0200) /* Start Of Frame Mask */
#define CNTR_ESOFM  (0x0100) /* Expected Start Of Frame Mask */


#define CNTR_RESUME (0x0010) /* RESUME request */
#define CNTR_FSUSP  (0x0008) /* Force SUSPend */
#define CNTR_LPMODE (0x0004) /* Low-power MODE */
#define CNTR_PDWN   (0x0002) /* Power DoWN */
#define CNTR_FRES   (0x0001) /* Force USB RESet */

/******************************************************************************/
/*                FNR Frame Number Register bit definitions                   */
/******************************************************************************/
#define FNR_RXDP (0x8000) /* status of D+ data line */
#define FNR_RXDM (0x4000) /* status of D- data line */
#define FNR_LCK  (0x2000) /* LoCKed */
#define FNR_LSOF (0x1800) /* Lost SOF */
#define FNR_FN  (0x07FF) /* Frame Number */
/******************************************************************************/
/*               DADDR Device ADDRess bit definitions                         */
/******************************************************************************/
#define DADDR_EF (0x80)
#define DADDR_ADD (0x7F)
/******************************************************************************/
/*                            Endpoint register                               */
/******************************************************************************/
/* bit positions */
#define EP_CTR_RX      (0x8000) /* EndPoint Correct TRansfer RX */
#define EP_DTOG_RX     (0x4000) /* EndPoint Data TOGGLE RX */
#define EPRX_STAT      (0x3000) /* EndPoint RX STATus bit field */
#define EP_SETUP       (0x0800) /* EndPoint SETUP */
#define EP_T_FIELD     (0x0600) /* EndPoint TYPE */
#define EP_KIND        (0x0100) /* EndPoint KIND */
#define EP_CTR_TX      (0x0080) /* EndPoint Correct TRansfer TX */
#define EP_DTOG_TX     (0x0040) /* EndPoint Data TOGGLE TX */
#define EPTX_STAT      (0x0030) /* EndPoint TX STATus bit field */
#define EPADDR_FIELD   (0x000F) /* EndPoint ADDRess FIELD */

/* EndPoint REGister MASK (no toggle fields) */
#define EPREG_MASK     (EP_CTR_RX|EP_SETUP|EP_T_FIELD|EP_KIND|EP_CTR_TX|EPADDR_FIELD)

/* EP_TYPE[1:0] EndPoint TYPE */
#define EP_TYPE_MASK   (0x0600) /* EndPoint TYPE Mask */
#define EP_BULK        (0x0000) /* EndPoint BULK */
#define EP_CONTROL     (0x0200) /* EndPoint CONTROL */
#define EP_ISOCHRONOUS (0x0400) /* EndPoint ISOCHRONOUS */
#define EP_INTERRUPT   (0x0600) /* EndPoint INTERRUPT */
#define EP_T_MASK      (~EP_T_FIELD & EPREG_MASK)


/* EP_KIND EndPoint KIND */
#define EPKIND_MASK    (~EP_KIND & EPREG_MASK)

/* STAT_TX[1:0] STATus for TX transfer */
#define EP_TX_DIS      (0x0000) /* EndPoint TX DISabled */
#define EP_TX_STALL    (0x0010) /* EndPoint TX STALLed */
#define EP_TX_NAK      (0x0020) /* EndPoint TX NAKed */
#define EP_TX_VALID    (0x0030) /* EndPoint TX VALID */
#define EPTX_DTOG1     (0x0010) /* EndPoint TX Data TOGgle bit1 */
#define EPTX_DTOG2     (0x0020) /* EndPoint TX Data TOGgle bit2 */
#define EPTX_DTOGMASK  (EPTX_STAT|EPREG_MASK)

/* STAT_RX[1:0] STATus for RX transfer */
#define EP_RX_DIS      (0x0000) /* EndPoint RX DISabled */
#define EP_RX_STALL    (0x1000) /* EndPoint RX STALLed */
#define EP_RX_NAK      (0x2000) /* EndPoint RX NAKed */
#define EP_RX_VALID    (0x3000) /* EndPoint RX VALID */
#define EPRX_DTOG1     (0x1000) /* EndPoint RX Data TOGgle bit1 */
#define EPRX_DTOG2     (0x2000) /* EndPoint RX Data TOGgle bit1 */
#define EPRX_DTOGMASK  (EPRX_STAT|EPREG_MASK)
/* Exported macro ------------------------------------------------------------*/
/* SetCNTR */
#define _SetCNTR(wRegValue)  (*CNTR   = (u16)wRegValue)

/* SetISTR */
#define _SetISTR(wRegValue)  (*ISTR   = (u16)wRegValue)

/* SetDADDR */
#define _SetDADDR(wRegValue) (*DADDR  = (u16)wRegValue)

/* SetBTABLE */
#define _SetBTABLE(wRegValue)(*BTABLE = (u16)(wRegValue & 0xFFF8))

/* GetCNTR */
#define _GetCNTR()   ((u16) *CNTR)

/* GetISTR */
#define _GetISTR()   ((u16) *ISTR)

/* GetFNR */
#define _GetFNR()    ((u16) *FNR)

/* GetDADDR */
#define _GetDADDR()  ((u16) *DADDR)

/* GetBTABLE */
#define _GetBTABLE() ((u16) *BTABLE)

/* SetENDPOINT */
#define _SetENDPOINT(bEpNum,wRegValue)  (*(EP0REG + bEpNum)= \
    (u16)wRegValue)

/* GetENDPOINT */
#define _GetENDPOINT(bEpNum)        ((u16)(*(EP0REG + bEpNum)))

/*******************************************************************************
* Macro Name     : SetEPType
* Description    : sets the type in the endpoint register(bits EP_TYPE[1:0])
* Input          : bEpNum: Endpoint Number. 
*                  wType
* Output         : None.
* Return         : None.
*******************************************************************************/
#define _SetEPType(bEpNum,wType) (_SetENDPOINT(bEpNum,\
                                  ((_GetENDPOINT(bEpNum) & EP_T_MASK) | wType)))

/*******************************************************************************
* Macro Name     : GetEPType
* Description    : gets the type in the endpoint register(bits EP_TYPE[1:0]) 
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : Endpoint Type
*******************************************************************************/
#define _GetEPType(bEpNum) (_GetENDPOINT(bEpNum) & EP_T_FIELD)

/*******************************************************************************
* Macro Name     : SetEPTxStatus
* Description    : sets the status for tx transfer (bits STAT_TX[1:0]).
* Input          : bEpNum: Endpoint Number. 
*                  wState: new state
* Output         : None.
* Return         : None.
*******************************************************************************/
#define _SetEPTxStatus(bEpNum,wState) {\
    register u16 _wRegVal;       \
    _wRegVal = _GetENDPOINT(bEpNum) & EPTX_DTOGMASK;\
    /* toggle first bit ? */     \
    if((EPTX_DTOG1 & wState)!= 0)      \
      _wRegVal ^= EPTX_DTOG1;        \
    /* toggle second bit ?  */         \
    if((EPTX_DTOG2 & wState)!= 0)      \
      _wRegVal ^= EPTX_DTOG2;        \
    _SetENDPOINT(bEpNum, _wRegVal);    \
  } /* _SetEPTxStatus */

/*******************************************************************************
* Macro Name     : SetEPRxStatus
* Description    : sets the status for rx transfer (bits STAT_TX[1:0])
* Input          : bEpNum: Endpoint Number. 
*                  wState: new state.
* Output         : None.
* Return         : None.
*******************************************************************************/
#define _SetEPRxStatus(bEpNum,wState) {\
    register u16 _wRegVal;   \
    \
    _wRegVal = _GetENDPOINT(bEpNum) & EPRX_DTOGMASK;\
    /* toggle first bit ? */  \
    if((EPRX_DTOG1 & wState)!= 0) \
      _wRegVal ^= EPRX_DTOG1;  \
    /* toggle second bit ? */  \
    if((EPRX_DTOG2 & wState)!= 0) \
      _wRegVal ^= EPRX_DTOG2;  \
    _SetENDPOINT(bEpNum, _wRegVal); \
  } /* _SetEPRxStatus */
/*******************************************************************************
* Macro Name     : GetEPTxStatus / GetEPRxStatus 
* Description    : gets the status for tx/rx transfer (bits STAT_TX[1:0]
*                  /STAT_RX[1:0])
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : status .
*******************************************************************************/
#define _GetEPTxStatus(bEpNum) ((u16)_GetENDPOINT(bEpNum) & EPTX_STAT)

#define _GetEPRxStatus(bEpNum) ((u16)_GetENDPOINT(bEpNum) & EPRX_STAT)

/*******************************************************************************
* Macro Name     : SetEPTxValid / SetEPRxValid 
* Description    : sets directly the VALID tx/rx-status into the enpoint register
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : None.
*******************************************************************************/
#define _SetEPTxValid(bEpNum)     (_SetEPTxStatus(bEpNum, EP_TX_VALID))

#define _SetEPRxValid(bEpNum)     (_SetEPRxStatus(bEpNum, EP_RX_VALID))

/*******************************************************************************
* Macro Name     : GetTxStallStatus / GetRxStallStatus.
* Description    : checks stall condition in an endpoint.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : TRUE = endpoint in stall condition.
*******************************************************************************/
#define _GetTxStallStatus(bEpNum) (_GetEPTxStatus(bEpNum) \
                                   == EP_TX_STALL)
#define _GetRxStallStatus(bEpNum) (_GetEPRxStatus(bEpNum) \
                                   == EP_RX_STALL)

/*******************************************************************************
* Macro Name     : SetEP_KIND / ClearEP_KIND.
* Description    : set & clear EP_KIND bit.
* Input          : bEpNum: Endpoint Number. 
* Output         : None.
* Return         : None.
*******************************************************************************/
#define _SetEP_KIND(bEpNum)    (_SetENDPOINT(bEpNum, \

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区高清不卡| 欧美午夜在线观看| jiyouzz国产精品久久| 色av一区二区| 欧美一区二区成人| 国产网站一区二区| 一区二区在线看| 免费看日韩a级影片| 国产白丝网站精品污在线入口| 色94色欧美sute亚洲线路一久| 777亚洲妇女| 中文字幕欧美日本乱码一线二线| 一区二区三区中文字幕精品精品| 青青国产91久久久久久| 成人app在线观看| 在线成人午夜影院| 国产欧美精品一区二区三区四区 | 国产成人三级在线观看| 91成人免费电影| 欧美精品一区二区在线观看| 一区二区三区免费看视频| 久久国产精品免费| 色婷婷精品久久二区二区蜜臀av| 日韩亚洲国产中文字幕欧美| 成人免费一区二区三区视频| 免费高清视频精品| 色婷婷综合在线| 久久婷婷国产综合精品青草 | 欧美日韩一区二区电影| 久久精品亚洲精品国产欧美kt∨ | 欧美日韩国产首页| 中文字幕亚洲精品在线观看| 奇米影视一区二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 制服丝袜成人动漫| 亚洲美女视频一区| 国产高清不卡一区| 欧美一区永久视频免费观看| 国产精品久久久久久妇女6080| 日韩1区2区日韩1区2区| 91婷婷韩国欧美一区二区| 久久久精品蜜桃| 免费看欧美女人艹b| 欧美在线制服丝袜| 亚洲欧洲韩国日本视频 | 国产精品无人区| 蜜臀av一区二区在线免费观看| 91成人国产精品| 亚洲特级片在线| 成人理论电影网| 久久久久久久久久久电影| 日本麻豆一区二区三区视频| 欧美视频中文字幕| 亚洲三级电影网站| 成人av影院在线| 国产日韩欧美精品在线| 精久久久久久久久久久| 这里只有精品视频在线观看| 亚洲综合一区二区三区| kk眼镜猥琐国模调教系列一区二区| 久久蜜桃一区二区| 国产专区欧美精品| 精品粉嫩aⅴ一区二区三区四区| 日韩影院精彩在线| 欧美乱熟臀69xxxxxx| 亚洲成av人片观看| 欧美日韩在线观看一区二区 | 欧美日韩色综合| 亚洲一区二区综合| 欧美午夜精品久久久久久超碰| 亚洲欧美日韩一区| 色综合天天天天做夜夜夜夜做| 国产精品久久久久久久久图文区| 国产成人av一区二区三区在线| 久久一区二区视频| 风间由美一区二区av101| 久久久国产精华| 国产sm精品调教视频网站| 国产色婷婷亚洲99精品小说| 国产精品一级在线| 中文字幕免费一区| 91视频.com| 亚洲已满18点击进入久久| 欧美日韩一级二级三级| 天天综合色天天综合色h| 欧美日韩www| 裸体一区二区三区| 欧美精品一区二区三区四区 | 中文av一区二区| 91首页免费视频| 亚洲高清在线精品| 日韩免费观看2025年上映的电影| 久久爱www久久做| 欧美韩日一区二区三区四区| 不卡视频在线看| 一区二区三区精品久久久| 欧美狂野另类xxxxoooo| 久久精品久久久精品美女| 久久久一区二区三区捆绑**| 国产suv精品一区二区6| 亚洲男人的天堂在线观看| 欧美精品乱人伦久久久久久| 美女一区二区三区在线观看| 国产三级一区二区| 色欧美乱欧美15图片| 三级成人在线视频| 久久精品日韩一区二区三区| 97久久精品人人做人人爽50路| 一区二区三区在线视频观看58| 欧美精品欧美精品系列| 国产成人亚洲综合a∨猫咪| 亚洲精品成人天堂一二三| 欧美精品久久99久久在免费线| 精油按摩中文字幕久久| 综合欧美亚洲日本| 91精品欧美福利在线观看| 国产一区二区按摩在线观看| 亚洲精品国产精华液| 日韩视频在线一区二区| 粉嫩在线一区二区三区视频| 亚洲最大色网站| 亚洲精品一区二区三区四区高清| www.欧美色图| 免费成人av在线| 综合欧美亚洲日本| 精品国产亚洲在线| 在线视频综合导航| 国产一区二区三区高清播放| 亚洲女人的天堂| 精品成人私密视频| 在线精品视频一区二区| 精品一区二区三区久久久| 一区二区成人在线视频 | 成人免费视频一区| 日韩av成人高清| 欧美国产日本韩| 日韩一二三四区| 97国产一区二区| 极品少妇xxxx精品少妇偷拍| 一区二区在线免费观看| 久久久久久毛片| 欧美老肥妇做.爰bbww| 99国产精品久久久久久久久久| 久久99久久99小草精品免视看| 一区二区三区成人| 国产欧美日韩视频在线观看| 欧美一区三区四区| 在线观看视频一区二区 | 夜夜嗨av一区二区三区四季av| 久久国产精品区| 亚洲国产中文字幕在线视频综合 | 成人激情动漫在线观看| 美女视频一区二区| 亚洲一本大道在线| 亚洲女人的天堂| 中文字幕不卡在线播放| 精品999久久久| 欧美丰满嫩嫩电影| 欧美性xxxxxxxx| 最新久久zyz资源站| 日韩女优制服丝袜电影| 欧美日韩在线免费视频| 91黄色免费观看| 99九九99九九九视频精品| 国产高清在线观看免费不卡| 毛片av一区二区三区| 日韩1区2区日韩1区2区| 午夜视频一区二区三区| 亚洲色欲色欲www| 中文字幕日韩一区| 欧美激情一区不卡| 国产欧美日产一区| 国产欧美视频一区二区三区| 久久美女艺术照精彩视频福利播放| 日韩午夜精品电影| 日韩视频免费观看高清完整版| 欧美日韩精品二区第二页| 在线区一区二视频| 91福利国产精品| 欧美在线高清视频| 欧美日韩国产免费| 欧美日韩一区二区三区免费看 | 日本欧美在线观看| 日韩综合一区二区| 免费观看成人鲁鲁鲁鲁鲁视频| 日本在线不卡视频一二三区| 秋霞av亚洲一区二区三| 奇米精品一区二区三区在线观看一| 亚洲成人激情自拍| 日本视频在线一区| 蜜臀av一区二区| 国产伦精品一区二区三区免费迷 | 久久久久九九视频| 久久综合色天天久久综合图片| 欧美精品一区二区三区蜜桃| 亚洲精品一区二区在线观看| 欧美激情一区不卡| 亚洲视频1区2区| 无码av中文一区二区三区桃花岛| 日日摸夜夜添夜夜添精品视频|