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

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

?? usb_int.c

?? 基于CORTEX-M3內核的stm32f10x芯片的USB代碼
?? C
字號:
/******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
* File Name          : usb_int.c
* Author             : MCD Application Team
* Version            : V1.0
* Date               : 10/08/2007
* Description        : Endpoint CTR (Low and High) interrupt's service routines
********************************************************************************
* 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.
*******************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include "usb_lib.h"

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
u16 SaveRState;
u16 SaveTState;

/* Extern variables ----------------------------------------------------------*/
extern void (*pEpInt_IN[7])(void);    /*  Handles IN  interrupts   */
extern void (*pEpInt_OUT[7])(void);   /*  Handles OUT interrupts   */

/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/

/*******************************************************************************
* Function Name  : CTR_LP.
* Description    : Low priority Endpoint Correct Transfer interrupt's service
*                  routine.
* Input          : None.
* Output         : None.
* Return         : None.
*******************************************************************************/
void CTR_LP(void)
{
  u32 wEPVal;
  /* stay in loop while pending ints */
  while (((wIstr = _GetISTR()) & ISTR_CTR) != 0)
  {
    _SetISTR((u16)CLR_CTR); /* clear CTR flag */
    /* extract highest priority endpoint number */
    EPindex = (u8)(wIstr & ISTR_EP_ID);
    if (EPindex == 0)
    {
      /* Decode and service control endpoint interrupt */
      /* calling related service routine */
      /* (Setup0_Process, In0_Process, Out0_Process) */

      /* save RX & TX status */
      /* and set both to NAK */
      SaveRState = _GetEPRxStatus(ENDP0);
      SaveTState = _GetEPTxStatus(ENDP0);
      _SetEPRxStatus(ENDP0, EP_RX_NAK);
      _SetEPTxStatus(ENDP0, EP_TX_NAK);


      /* DIR bit = origin of the interrupt */

      if ((wIstr & ISTR_DIR) == 0)
      {
        /* DIR = 0 */

        /* DIR = 0      => IN  int */
        /* DIR = 0 implies that (EP_CTR_TX = 1) always  */


        _ClearEP_CTR_TX(ENDP0);
        In0_Process();

        /* check if SETUP arrived during IN processing */
        wEPVal = _GetENDPOINT(ENDP0);
        if ((wEPVal & (EP_CTR_RX | EP_SETUP)) != 0)
        {
          _ClearEP_CTR_RX(ENDP0); /* SETUP bit kept frozen while CTR_RX = 1 */
          Setup0_Process();
        }

      }

      else
      {
        /* DIR = 1 */

        /* DIR = 1 & CTR_RX       => SETUP or OUT int */
        /* DIR = 1 & (CTR_TX | CTR_RX) => 2 int pending */

        wEPVal = _GetENDPOINT(ENDP0);
        if ((wEPVal & EP_CTR_TX) != 0)
        {
          _ClearEP_CTR_TX(ENDP0);
          In0_Process();
        }
        if ((wEPVal &EP_SETUP) != 0)
        {
          _ClearEP_CTR_RX(ENDP0); /* SETUP bit kept frozen while CTR_RX = 1 */
          Setup0_Process();
        }

        else if ((wEPVal & EP_CTR_RX) != 0)
        {
          _ClearEP_CTR_RX(ENDP0);
          Out0_Process();
        }

      }

      /* before terminate set Tx & Rx status */
      _SetEPRxStatus(ENDP0, SaveRState);
      _SetEPTxStatus(ENDP0, SaveTState);
    }/* if(EPindex == 0) */
    else
    {
      /* Decode and service non control endpoints interrupt  */

      /* process related endpoint register */
      wEPVal = _GetENDPOINT(EPindex);
      if ((wEPVal & EP_CTR_RX) != 0)
      {
        /* clear int flag */
        _ClearEP_CTR_RX(EPindex);

        /* call OUT service function */
        (*pEpInt_OUT[EPindex-1])();

      } /* if((wEPVal & EP_CTR_RX) */

      if ((wEPVal & EP_CTR_TX) != 0)
      {
        /* clear int flag */
        _ClearEP_CTR_TX(EPindex);

        /* call IN service function */
        (*pEpInt_IN[EPindex-1])();
      } /* if((wEPVal & EP_CTR_TX) != 0) */

    }/* if(EPindex == 0) else */

  }/* while(...) */
}

/*******************************************************************************
* Function Name  : CTR_HP.
* Description    : High Priority Endpoint Correct Transfer interrupt's service 
*                  routine.
* Input          : None.
* Output         : None.
* Return         : None.
*******************************************************************************/
void CTR_HP(void)
{
  u32 wEPVal;

  while (((wIstr = _GetISTR()) & ISTR_CTR) != 0)
  {
    _SetISTR((u16)CLR_CTR); /* clear CTR flag */
    /* extract highest priority endpoint number */
    EPindex = (u8)(wIstr & ISTR_EP_ID);
    /* process related endpoint register */
    wEPVal = _GetENDPOINT(EPindex);
    if ((wEPVal & EP_CTR_RX) != 0)
    {
      /* clear int flag */
      _ClearEP_CTR_RX(EPindex);

      /* call OUT service function */
      (*pEpInt_OUT[EPindex-1])();

    } /* if((wEPVal & EP_CTR_RX) */
    if ((wEPVal & EP_CTR_TX) != 0)
    {
      /* clear int flag */
      _ClearEP_CTR_TX(EPindex);

      /* call IN service function */
      (*pEpInt_IN[EPindex-1])();


    } /* if((wEPVal & EP_CTR_TX) != 0) */

  }/* while(...) */
}

/******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产性做久久久久久| 欧美午夜在线观看| 免费一级片91| 日韩av网站在线观看| 性久久久久久久久| 亚洲一线二线三线久久久| 亚洲欧洲另类国产综合| 中文字幕一区在线观看| 国产精品青草久久| 亚洲乱码国产乱码精品精小说| 国产精品国产三级国产aⅴ中文| 国产精品麻豆欧美日韩ww| 亚洲欧美在线另类| 一区二区三区四区视频精品免费| 一级日本不卡的影视| 亚洲成人黄色影院| 九九视频精品免费| 成人精品电影在线观看| 色综合色狠狠综合色| 91久久精品网| 日韩欧美电影一区| 中文久久乱码一区二区| 亚洲伦在线观看| 亚洲h在线观看| 国产福利一区二区三区| 97久久超碰精品国产| 欧美另类高清zo欧美| 久久你懂得1024| 国产精品丝袜一区| 天堂蜜桃一区二区三区 | 日韩丝袜情趣美女图片| 欧美日韩国产天堂| 在线播放亚洲一区| 中文字幕国产精品一区二区| 亚洲一二三四久久| 国产成a人亚洲| 日韩欧美一区在线观看| 国产亚洲一区二区三区四区 | 亚洲欧美日韩国产成人精品影院 | 亚洲青青青在线视频| 日韩福利视频导航| 99久精品国产| 久久精品一区二区三区四区| 亚洲综合一区在线| 丰满白嫩尤物一区二区| 日本久久一区二区三区| 日韩久久精品一区| 亚洲最快最全在线视频| 国产精品一区二区果冻传媒| aaa亚洲精品| 日韩一二三四区| 一区二区三区在线免费观看| 久久国产成人午夜av影院| 91麻豆国产香蕉久久精品| 久久久美女毛片| 免播放器亚洲一区| 欧美日韩一区二区三区四区五区| 亚洲国产精品ⅴa在线观看| 青青青爽久久午夜综合久久午夜| 91视频com| 国产精品进线69影院| 精品一区二区三区免费毛片爱| 91国内精品野花午夜精品| 久久久影院官网| 国内精品写真在线观看| 欧美一区二区三区四区高清| 亚洲最大成人网4388xx| 91视视频在线观看入口直接观看www | 成人高清免费在线播放| 精品国产自在久精品国产| 丝袜a∨在线一区二区三区不卡| 97国产一区二区| 1024亚洲合集| 91在线观看成人| 中文字幕中文字幕一区二区| 粗大黑人巨茎大战欧美成人| 国产日韩精品一区二区三区| 国产成人综合视频| 欧美激情综合五月色丁香| 国产福利精品一区| 国产拍欧美日韩视频二区| 国产激情偷乱视频一区二区三区| 2021久久国产精品不只是精品 | 久久久国产精华| 国产一区二区在线电影| 日韩午夜在线影院| 久久er99热精品一区二区| 欧美mv日韩mv| 国产精品中文欧美| 国产精品美女久久福利网站| 成人av影院在线| 一区二区三区四区中文字幕| 在线一区二区三区做爰视频网站| 亚洲一区二区在线播放相泽| 欧美日韩亚洲国产综合| 石原莉奈在线亚洲三区| 日韩一区二区在线看| 极品瑜伽女神91| 国产色婷婷亚洲99精品小说| 成人av免费在线播放| 亚洲丝袜制服诱惑| 欧美日韩国产大片| 国内一区二区在线| 最近中文字幕一区二区三区| 欧美视频在线播放| 激情另类小说区图片区视频区| 欧美高清在线一区| 色又黄又爽网站www久久| 青青草国产精品97视觉盛宴| 国产色产综合产在线视频| 一道本成人在线| 精品一区二区三区免费毛片爱| 国产精品久久毛片av大全日韩| 欧美日韩在线三区| 国产精品18久久久久久vr| 一区二区在线观看视频| 日韩欧美亚洲国产另类| av不卡一区二区三区| 裸体一区二区三区| 成人免费在线观看入口| 91精品国产aⅴ一区二区| 成人黄色软件下载| 久久成人免费电影| 亚洲一区在线视频| 国产欧美一区二区三区在线老狼| 日本道精品一区二区三区 | 99精品黄色片免费大全| 久久精品理论片| 亚洲国产精品久久人人爱蜜臀| 久久久精品2019中文字幕之3| 色噜噜狠狠色综合欧洲selulu| 久久99久久久欧美国产| 亚洲va国产天堂va久久en| 国产精品狼人久久影院观看方式| 日韩欧美国产成人一区二区| 欧美亚洲国产一区二区三区| 高清国产一区二区三区| 黑人精品欧美一区二区蜜桃| 亚洲成国产人片在线观看| 亚洲天堂av一区| 欧美高清在线一区| 久久综合狠狠综合久久综合88 | 国产麻豆精品一区二区| 全国精品久久少妇| 五月激情丁香一区二区三区| 一级中文字幕一区二区| 亚洲免费在线视频| 综合欧美亚洲日本| 1区2区3区欧美| 国产精品国产馆在线真实露脸| 久久嫩草精品久久久精品| 欧美成人三级在线| 欧美一二三区精品| 日韩写真欧美这视频| 日韩欧美中文字幕一区| 日韩欧美中文字幕精品| 久久奇米777| 中文字幕制服丝袜一区二区三区 | 亚洲视频免费在线观看| 欧美高清在线一区| 国产精品国产精品国产专区不蜜| 国产精品久久综合| 亚洲丝袜制服诱惑| 亚洲成人精品在线观看| 奇米四色…亚洲| 国产一区日韩二区欧美三区| 国产成人丝袜美腿| 不卡的av在线| 欧美三级在线视频| 日韩三区在线观看| 日本一区二区三区免费乱视频| 国产精品丝袜在线| 亚洲在线观看免费视频| 日韩国产成人精品| 国产自产v一区二区三区c| 成人一级黄色片| 91国产丝袜在线播放| 日韩小视频在线观看专区| 精品国产伦一区二区三区观看方式 | 国产原创一区二区三区| 懂色av一区二区夜夜嗨| 色婷婷亚洲婷婷| 91精品国产综合久久久蜜臀粉嫩| 日韩精品一区二区三区swag| 国产亚洲欧洲997久久综合| 中文字幕一区二区三| 日本成人中文字幕| 成人国产亚洲欧美成人综合网| 欧美影视一区在线| 久久久久九九视频| 亚洲激情av在线| 国产在线视视频有精品| 色综合色狠狠综合色| 日韩精品一区二区三区swag| 一区在线观看视频| 麻豆精品国产91久久久久久| 99国产精品国产精品久久| 欧美一卡二卡在线| 亚洲日本中文字幕区| 国产精品自拍一区|