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

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

?? usb_int.c

?? STM32F10x USB Library V1.0
?? 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精品国产乱码| 国产乱妇无码大片在线观看| 国产视频一区二区在线| 欧美日本在线一区| 日本韩国欧美三级| 99re这里只有精品6| 不卡区在线中文字幕| 成人涩涩免费视频| 国产精品一区二区三区99| 国产在线精品一区二区夜色| 毛片av一区二区三区| 久久成人羞羞网站| 麻豆91精品91久久久的内涵| 亚洲一卡二卡三卡四卡五卡| 一区二区三区国产精品| 一区二区三区中文在线观看| 亚洲男人天堂一区| 午夜精品福利久久久| 亚洲成人免费在线| 久久精品国产一区二区三| 国产真实精品久久二三区| 国产成人亚洲精品青草天美| 91亚洲男人天堂| 欧美日韩国产色站一区二区三区| 欧美午夜精品一区二区三区| 欧美男人的天堂一二区| 精品国产91亚洲一区二区三区婷婷| 亚洲精品一区在线观看| 中文字幕一区在线观看| 日韩国产精品久久| 久久66热偷产精品| 成人黄色777网| 欧美一级xxx| 国产精品久久久久久久久久免费看 | 精品国产露脸精彩对白| 国产欧美一区二区三区网站| 亚洲在线成人精品| 国产伦精一区二区三区| 精品视频在线视频| 欧美国产在线观看| 秋霞午夜av一区二区三区| 一本色道久久加勒比精品| 欧美在线你懂的| 欧美三级日韩三级国产三级| 日韩欧美精品在线视频| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲日本一区二区三区| 国内外精品视频| 欧美一区二区三区四区在线观看| 国产精品久久久久影院亚瑟| 麻豆国产精品官网| 欧美主播一区二区三区| 精品久久久久久无| 亚洲国产成人av网| 麻豆免费精品视频| 欧美色欧美亚洲另类二区| 国产精品视频麻豆| 国产成人av在线影院| 欧美人体做爰大胆视频| 亚洲午夜精品一区二区三区他趣| heyzo一本久久综合| 精品福利av导航| 亚洲成av人片在线观看| 欧美私人免费视频| 亚洲精品视频在线观看免费| 国产高清在线观看免费不卡| 久久伊99综合婷婷久久伊| 免费成人av在线| 日韩欧美国产精品一区| 美女脱光内衣内裤视频久久网站| 欧美日韩一本到| 性久久久久久久久久久久| 欧美日韩电影在线| 午夜国产不卡在线观看视频| 欧美日韩久久不卡| 亚洲午夜私人影院| 久久久一区二区三区捆绑**| 成人av片在线观看| 亚洲视频一二区| 在线视频国内一区二区| 三级欧美韩日大片在线看| 91精品国产综合久久福利| 蜜桃视频免费观看一区| 6080日韩午夜伦伦午夜伦| 蜜乳av一区二区三区| 国产亲近乱来精品视频| 在线观看国产一区二区| 日韩在线a电影| 国产精品国产三级国产普通话三级| av在线一区二区| 日韩一区精品视频| 国产精品视频一二三区| 91精品久久久久久蜜臀| 成人高清在线视频| 麻豆91免费看| 亚洲一区二区三区在线播放| 欧美videos大乳护士334| 欧美私人免费视频| 色综合久久中文字幕综合网| 成人黄色在线看| 成人免费高清在线观看| 国产一区二区精品久久91| 亚洲午夜电影网| 91精品国产色综合久久不卡蜜臀| 国产精品一二三在| 亚洲国产精品一区二区久久 | 91视频www| 国产乱人伦偷精品视频免下载| 亚洲成av人片一区二区三区| 亚洲欧美色综合| 亚洲情趣在线观看| 国产精品免费视频观看| 日韩三级视频在线看| 欧美一卡2卡三卡4卡5免费| 欧美高清视频一二三区| 欧美日韩精品久久久| 欧美成人bangbros| 欧洲生活片亚洲生活在线观看| 美美哒免费高清在线观看视频一区二区| 亚洲影院久久精品| 偷拍与自拍一区| 香蕉久久一区二区不卡无毒影院 | 中文字幕视频一区| 成人免费在线播放视频| 成人免费视频在线观看| 亚洲无线码一区二区三区| 一区二区三区欧美激情| 午夜电影网亚洲视频| 蜜臀精品久久久久久蜜臀| 久久99这里只有精品| 成人精品国产福利| 欧美网站大全在线观看| 日韩免费看的电影| 国产日韩欧美激情| 亚洲欧美电影院| 洋洋成人永久网站入口| 日本特黄久久久高潮| 国产精品一二三| 欧美一a一片一级一片| 精品免费日韩av| 亚洲女性喷水在线观看一区| 国产精品自拍三区| 91精品国产综合久久精品性色| 国产日韩欧美在线一区| 亚洲天堂成人网| 91美女在线看| 一区二区三区视频在线看| 亚洲在线中文字幕| 成人av第一页| 欧美国产精品v| 国产91精品久久久久久久网曝门| 成人激情动漫在线观看| 91精品综合久久久久久| 亚洲一区二区三区四区中文字幕| 风间由美性色一区二区三区| 日韩欧美国产综合一区| 国产精品污网站| 蜜桃av一区二区三区| 在线观看免费视频综合| 亚洲男人电影天堂| 99精品国产视频| 亚洲欧洲www| 成人国产亚洲欧美成人综合网 | av男人天堂一区| 久久综合给合久久狠狠狠97色69| 久久99在线观看| 欧美精品在线一区二区三区| 亚洲国产一区在线观看| 欧美在线你懂的| 日韩中文字幕亚洲一区二区va在线| 欧美精品vⅰdeose4hd| 午夜精品久久久久久久蜜桃app| 欧美美女bb生活片| 亚洲成精国产精品女| 欧美精选一区二区| 久久国产精品72免费观看| 久久先锋影音av| 色噜噜狠狠成人中文综合 | 久久 天天综合| 国产欧美综合在线观看第十页| 麻豆精品国产传媒mv男同| 久久久www成人免费毛片麻豆 | 亚洲www啪成人一区二区麻豆 | 中文字幕国产一区| 成人avav在线| 国产乱人伦偷精品视频不卡| 欧美电视剧免费观看| 国产精品一区不卡| 爽好久久久欧美精品| 国产精品午夜电影| 日韩一区二区在线观看视频播放| www.99精品| 日韩成人精品在线观看| 国产蜜臀97一区二区三区| 日本精品一区二区三区高清 | 五月婷婷欧美视频| 亚洲人成在线观看一区二区| 国产欧美日韩精品在线| 日韩色在线观看|