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

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

?? usb_int.c

?? USB程序
?? C
字號(hào):
/******************** (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****/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线一区二区| 欧美理论电影在线| 国产福利精品一区| 国产一区二区三区黄视频 | 国产在线精品国自产拍免费| 日本vs亚洲vs韩国一区三区 | 亚洲综合色噜噜狠狠| 亚洲精选视频免费看| 亚洲已满18点击进入久久| 亚洲综合自拍偷拍| 五月天一区二区| 日韩国产精品大片| 九色|91porny| 风间由美中文字幕在线看视频国产欧美| 国产一区二区久久| 成人美女视频在线看| 色久优优欧美色久优优| 欧美久久久久免费| 精品国产乱码久久久久久免费| 久久久久久久久伊人| 中文字幕日韩av资源站| 亚洲午夜久久久久中文字幕久| 性感美女久久精品| 久久www免费人成看片高清| 国产精品香蕉一区二区三区| www.日韩大片| 欧美午夜一区二区三区| 日韩一区二区三区四区| 国产欧美一区二区在线观看| 亚洲色图色小说| 亚洲国产精品自拍| 久久99久久精品| av电影天堂一区二区在线观看| 91久久精品国产91性色tv| 91精选在线观看| 欧美国产精品专区| 亚洲成人在线观看视频| 国产精品一区二区果冻传媒| 91久久精品一区二区二区| 日韩一区二区在线免费观看| 久久久久久久电影| 亚洲香肠在线观看| 国产美女视频一区| 欧美视频在线观看一区| 久久久久国产精品麻豆ai换脸 | 99热99精品| 777午夜精品免费视频| 中文字幕乱码亚洲精品一区| 视频在线在亚洲| 成人av电影观看| 91精品国产综合久久久久久久| 欧美激情自拍偷拍| 蜜桃av一区二区| 91色.com| 国产亚洲欧美在线| 午夜亚洲国产au精品一区二区| 懂色av一区二区三区免费观看| 欧美日韩国产经典色站一区二区三区| 2023国产一二三区日本精品2022| 亚洲精品视频免费看| 国产一区视频在线看| 91国偷自产一区二区使用方法| 久久精品欧美一区二区三区不卡| 一区二区久久久| 成人午夜又粗又硬又大| 欧美一区二区网站| 亚洲美女在线国产| 成人网在线免费视频| 日韩午夜激情免费电影| 亚洲美女视频在线观看| 国产成人精品亚洲777人妖| 91精品免费在线| 亚洲国产综合色| 91影院在线观看| 国产欧美一区二区精品婷婷| 日本欧美一区二区在线观看| 欧美天堂一区二区三区| 成人免费在线视频观看| 国产高清无密码一区二区三区| 日韩一区二区三区视频在线观看| 亚洲高清在线视频| 91极品视觉盛宴| 亚洲欧洲性图库| 成人福利视频在线看| 久久久精品黄色| 韩国av一区二区三区四区| 欧美一区二区三区免费在线看| 亚洲免费观看视频| 一本到不卡免费一区二区| 国产精品久久久久一区二区三区共| 九九久久精品视频| 精品伦理精品一区| 黄网站免费久久| 欧美大片在线观看一区二区| 日产国产高清一区二区三区| 欧美女孩性生活视频| 亚洲国产成人va在线观看天堂 | 亚洲欧美视频在线观看视频| 99视频国产精品| 亚洲女厕所小便bbb| 97久久超碰国产精品| 国产精品女人毛片| 99免费精品在线观看| 日韩伦理电影网| 色综合久久88色综合天天免费| 国产精品成人免费精品自在线观看| 国产毛片精品国产一区二区三区| 久久蜜桃香蕉精品一区二区三区| 国产美女在线观看一区| 国产拍欧美日韩视频二区| 成人国产亚洲欧美成人综合网| 欧美国产精品久久| 91色视频在线| 婷婷综合久久一区二区三区| 91精品国产黑色紧身裤美女| 毛片基地黄久久久久久天堂| 日韩免费观看2025年上映的电影| 麻豆免费精品视频| 欧美刺激脚交jootjob| 国产精品中文字幕欧美| 欧美国产丝袜视频| 91成人免费网站| 天堂在线亚洲视频| 精品国产第一区二区三区观看体验| 国产精品伊人色| 亚洲日穴在线视频| 欧美日韩高清影院| 韩国中文字幕2020精品| 国产精品传媒在线| 欧美三级午夜理伦三级中视频| 日韩综合一区二区| 国产三级一区二区| 一本久道久久综合中文字幕| 成人小视频免费在线观看| 亚洲男帅同性gay1069| 欧美疯狂做受xxxx富婆| 国产精品77777| 亚洲福利一二三区| 久久九九久久九九| 在线一区二区视频| 精品一区二区三区久久| 国产精品不卡一区| 91精品黄色片免费大全| 成人免费观看av| 日日摸夜夜添夜夜添国产精品| 久久久777精品电影网影网| 在线观看网站黄不卡| 久草在线在线精品观看| 亚洲天堂免费看| 日韩欧美国产不卡| 91无套直看片红桃| 激情综合色播激情啊| 亚洲黄色av一区| 亚洲精品在线观看网站| 欧美午夜电影一区| 成人丝袜视频网| 日韩高清一区二区| 中文字幕一区二区三区不卡| 日韩欧美黄色影院| 欧洲精品视频在线观看| 国产精品综合av一区二区国产馆| 亚洲午夜视频在线观看| 国产精品污网站| 欧美电影免费观看高清完整版| 色婷婷av一区二区三区之一色屋| 黄一区二区三区| 午夜欧美大尺度福利影院在线看| 国产精品久久免费看| 欧美哺乳videos| 欧美午夜精品免费| 99久久99久久综合| 国产成人在线免费观看| 日韩国产在线观看一区| 亚洲少妇最新在线视频| 久久老女人爱爱| 日韩一区二区视频| 欧美卡1卡2卡| 日本道精品一区二区三区| 国产成人免费av在线| 久久国产精品72免费观看| 亚洲一区在线观看视频| 国产精品久久影院| 久久精品一区八戒影视| 日韩一级精品视频在线观看| 欧洲一区二区三区在线| 99九九99九九九视频精品| 懂色av噜噜一区二区三区av| 激情文学综合网| 久久国产精品区| 免费成人av在线播放| 日本视频在线一区| 视频一区在线视频| 午夜不卡av免费| 亚洲国产精品麻豆| 亚洲一二三区视频在线观看| 亚洲精品综合在线| 一区二区三区四区国产精品| 综合久久久久综合| 国内精品在线播放| 另类调教123区|