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

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

?? usb_int.c

?? STM32不完全手冊 例程源碼 29個
?? C
字號:
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name          : usb_int.c
* Author             : MCD Application Team
* Version            : V2.2.0
* Date               : 06/13/2008
* Description        : Endpoint CTR (Low and High) interrupt's service routines
********************************************************************************
* THE PRESENT FIRMWARE 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 FIRMWARE 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 = 0;
  /* 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();

           /* before terminate set Tx & Rx status */
          _SetEPRxStatus(ENDP0, SaveRState);
          _SetEPTxStatus(ENDP0, SaveTState);
          return;
      }
      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();
          /* before terminate set Tx & Rx status */
          _SetEPRxStatus(ENDP0, SaveRState);
          _SetEPTxStatus(ENDP0, SaveTState);
          return;
        }
        else if ((wEPVal &EP_SETUP) != 0)
        {
          _ClearEP_CTR_RX(ENDP0); /* SETUP bit kept frozen while CTR_RX = 1 */
          Setup0_Process();
          /* before terminate set Tx & Rx status */
          _SetEPRxStatus(ENDP0, SaveRState);
          _SetEPTxStatus(ENDP0, SaveTState);
          return;
        }

        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);
          return;
        }
      }
    }/* 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 = 0;

  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) */
    else 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 2008 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级欧美一级在线播放| 精品无人码麻豆乱码1区2区 | 国产成人免费视频网站高清观看视频| 在线综合亚洲欧美在线视频| 日本怡春院一区二区| 4438成人网| 激情另类小说区图片区视频区| 精品国产乱码久久久久久图片 | 555www色欧美视频| 免费在线成人网| 久久久国产精品午夜一区ai换脸| 成人高清伦理免费影院在线观看| 久草在线在线精品观看| 久久综合给合久久狠狠狠97色69| 成人在线视频一区二区| 伊人一区二区三区| 欧美精品视频www在线观看| 韩国精品在线观看| 综合激情网...| 91精品国产一区二区| 国产精品18久久久| 亚洲精品第一国产综合野| 日韩午夜电影在线观看| 成人短视频下载| 日韩av中文字幕一区二区三区 | 日本一区二区三区在线不卡| 91丨porny丨中文| 久久精品国内一区二区三区| 日韩美女精品在线| 欧美一区二区三区在线视频| 成a人片亚洲日本久久| 一区二区三区精密机械公司| 精品久久一区二区| 亚洲电影中文字幕在线观看| 精品国产不卡一区二区三区| av一本久道久久综合久久鬼色| 国产精品成人免费精品自在线观看| 欧美日韩免费电影| av电影一区二区| 久久国产免费看| 亚洲一区二区三区四区的| 久久久久久久久97黄色工厂| 欧美日韩亚洲综合| 99视频精品在线| 国产美女av一区二区三区| 亚洲一区在线视频| 中文字幕亚洲精品在线观看| 久久综合999| 欧美精品1区2区| 91福利视频久久久久| 国产mv日韩mv欧美| 激情文学综合丁香| 日日夜夜一区二区| 亚洲在线视频网站| 日韩美女视频19| 国产精品色眯眯| 久久噜噜亚洲综合| 日韩欧美一区二区视频| 欧美日韩亚洲国产综合| 色综合视频在线观看| 成人午夜精品在线| 国产高清亚洲一区| 国产一二三精品| 久久99精品久久久| 午夜精品久久久久久| 日韩限制级电影在线观看| 成人黄色在线看| 国产美女视频一区| 美女一区二区久久| 亚洲成人资源网| 亚洲品质自拍视频| 中文字幕一区二区三中文字幕| 久久久一区二区三区| 精品福利二区三区| 久久综合一区二区| 精品电影一区二区三区| 日韩免费一区二区三区在线播放| 91精品国产91久久综合桃花| 欧美久久一二三四区| 欧美日韩国产一区二区三区地区| 在线免费av一区| 欧美色综合久久| 欧美乱熟臀69xxxxxx| 欧美日韩一卡二卡三卡| 6080午夜不卡| 日韩欧美亚洲国产另类| 精品美女在线播放| 亚洲国产精品国自产拍av| 国产精品久久久久久久久久免费看| 国产精品女同一区二区三区| 综合中文字幕亚洲| 亚洲综合区在线| 亚洲国产精品麻豆| 另类小说视频一区二区| 国产一区中文字幕| 成人午夜av影视| 色婷婷综合久久久中文一区二区 | 懂色一区二区三区免费观看| 成人免费视频一区二区| 91视频你懂的| 欧美高清一级片在线| 欧美tickling网站挠脚心| 精品国产91乱码一区二区三区| 中文字幕精品一区二区精品绿巨人| 综合色中文字幕| 日韩高清一级片| 国产精品一区在线观看你懂的| www.欧美日韩| 777午夜精品视频在线播放| 久久这里只精品最新地址| 国产精品三级视频| 偷拍一区二区三区四区| 国产精品一区在线观看你懂的| 91蜜桃免费观看视频| 欧美一区午夜视频在线观看| 欧美经典一区二区| 亚洲va中文字幕| 国产精品一区二区在线观看不卡 | 欧美精品视频www在线观看| 日韩欧美一级特黄在线播放| 亚洲欧洲av在线| 麻豆视频一区二区| 色94色欧美sute亚洲线路一久| 日韩视频一区在线观看| 亚洲欧美综合在线精品| 久久99最新地址| 欧美性猛片aaaaaaa做受| 国产网站一区二区| 欧美a一区二区| 色88888久久久久久影院按摩 | 欧美日本视频在线| 国产精品三级av在线播放| 奇米精品一区二区三区在线观看| 波多野结衣中文字幕一区| 91麻豆精品91久久久久久清纯| 一区二区中文视频| 国产在线精品一区二区夜色| 欧美日韩黄色影视| 亚洲免费av高清| 欧美少妇bbb| 欧美大黄免费观看| 专区另类欧美日韩| 九九**精品视频免费播放| 在线观看网站黄不卡| 国产欧美日韩激情| 欧美美女一区二区在线观看| 欧美成人aa大片| 亚洲图片有声小说| 99久久精品国产一区二区三区| 日韩欧美一级二级| 偷拍一区二区三区| 欧美性做爰猛烈叫床潮| 国产精品久久久久久妇女6080| 国产在线一区观看| 欧美电影免费观看高清完整版在| 亚洲影院在线观看| 91女厕偷拍女厕偷拍高清| 国产目拍亚洲精品99久久精品| 国产裸体歌舞团一区二区| 日韩欧美久久久| 奇米色一区二区三区四区| 欧美肥胖老妇做爰| 日韩电影在线免费看| 这里只有精品视频在线观看| 午夜亚洲国产au精品一区二区| 欧美在线视频不卡| 亚洲一二三专区| 欧美日韩你懂得| 五月激情丁香一区二区三区| 欧美另类一区二区三区| 婷婷夜色潮精品综合在线| 7777精品伊人久久久大香线蕉完整版| 亚洲一区二区三区四区不卡| 欧美特级限制片免费在线观看| 一区二区高清免费观看影视大全 | 91婷婷韩国欧美一区二区| 国产精品久久久久久久久搜平片| 成人午夜电影久久影院| 国产精品日韩成人| 91在线播放网址| 亚洲国产色一区| 在线不卡免费欧美| 久久99国内精品| 国产精品乱码一区二区三区软件 | 亚洲免费观看高清完整版在线观看熊| 成人国产视频在线观看| 精品一区中文字幕| 欧美videofree性高清杂交| 久久99国产精品久久99果冻传媒| 久久这里只有精品首页| 国产91精品一区二区麻豆网站| 综合久久久久综合| 欧美日本韩国一区二区三区视频| 久久不见久久见免费视频7| 国产日韩精品一区二区浪潮av| 91热门视频在线观看| 视频在线在亚洲| 国产午夜精品一区二区三区视频| 色婷婷综合激情| 美女爽到高潮91|