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

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

?? usbuser.c

?? 基于ARM7的USB聲卡源代碼, LPC2300系列.
?? C
字號:
/*----------------------------------------------------------------------------
 *      U S B  -  K e r n e l
 *----------------------------------------------------------------------------
 *      Name:    USBUSER.C
 *      Purpose: USB Custom User Module
 *      Version: V1.10
 *----------------------------------------------------------------------------
 *      This file is part of the uVision/ARM development tools.
 *      This software may only be used under the terms of a valid, current,
 *      end user licence from KEIL for a compatible version of KEIL software
 *      development tools. Nothing else gives you the right to use it.
 *
 *      Copyright (c) 2005-2006 Keil Software.
 *---------------------------------------------------------------------------*/

#include <LPC23xx.H>                        /* LPC23xx definitions */

#include "type.h"

#include "usb.h"
#include "usbcfg.h"
#include "usbhw.h"
#include "usbcore.h"
#include "usbuser.h"

#include "demo.h"


/*
 *  USB Power Event Callback
 *   Called automatically on USB Power Event
 *    Parameter:       power: On(TRUE)/Off(FALSE)
 */

#if USB_POWER_EVENT
void USB_Power_Event (BOOL  power) {
}
#endif


/*
 *  USB Reset Event Callback
 *   Called automatically on USB Reset Event
 */

#if USB_RESET_EVENT
void USB_Reset_Event (void) {
  USB_ResetCore();
}
#endif


/*
 *  USB Suspend Event Callback
 *   Called automatically on USB Suspend Event
 */

#if USB_SUSPEND_EVENT
void USB_Suspend_Event (void) {
}
#endif


/*
 *  USB Resume Event Callback
 *   Called automatically on USB Resume Event
 */

#if USB_RESUME_EVENT
void USB_Resume_Event (void) {
}
#endif


/*
 *  USB Remote Wakeup Event Callback
 *   Called automatically on USB Remote Wakeup Event
 */

#if USB_WAKEUP_EVENT
void USB_WakeUp_Event (void) {
}
#endif


/*
 *  USB Start of Frame Event Callback
 *   Called automatically on USB Start of Frame Event
 */

#if USB_SOF_EVENT
void USB_SOF_Event (void) {
#if USB_DMA == 0
  if (USB_ReadEP(0x03, (BYTE *)&DataBuf[DataIn])) {
    /* Data Available */
    DataIn += P_S;                          /* Update Data In Index */
    DataIn &= B_S - 1;                      /* Adjust Data In Index */
    if (((DataIn - DataOut) & (B_S - 1)) == (B_S/2)) {
      DataRun = 1;                          /* Data Stream running */
    }
  } else {
    /* No Data */
    DataRun  = 0;                           /* Data Stream not running */
    DataOut  = DataIn;                      /* Initialize Data Indexes */
  }
#endif
}
#endif


/*
 *  USB Error Event Callback
 *   Called automatically on USB Error Event
 *    Parameter:       error: Error Code
 */

#if USB_ERROR_EVENT
void USB_Error_Event (DWORD error) {
}
#endif


/*
 *  USB Set Configuration Event Callback
 *   Called automatically on USB Set Configuration Request
 */

#if USB_CONFIGURE_EVENT
void USB_Configure_Event (void) {
}
#endif


/*
 *  USB Set Interface Event Callback
 *   Called automatically on USB Set Interface Request
 */

#if USB_INTERFACE_EVENT
void USB_Interface_Event (void) {
}
#endif


/*
 *  USB Set/Clear Feature Event Callback
 *   Called automatically on USB Set/Clear Feature Request
 */

#if USB_FEATURE_EVENT
void USB_Feature_Event (void) {
}
#endif


#define P_EP(n) ((USB_EP_EVENT & (1 << (n))) ? USB_EndPoint##n : NULL)

/* USB Endpoint Events Callback Pointers */
void (* const USB_P_EP[16]) (DWORD event) = {
  P_EP(0),
  P_EP(1),
  P_EP(2),
  P_EP(3),
  P_EP(4),
  P_EP(5),
  P_EP(6),
  P_EP(7),
  P_EP(8),
  P_EP(9),
  P_EP(10),
  P_EP(11),
  P_EP(12),
  P_EP(13),
  P_EP(14),
  P_EP(15),
};


/*
 *  USB Endpoint 1 Event Callback
 *   Called automatically on USB Endpoint 1 Event
 *    Parameter:       event
 */

void USB_EndPoint1 (DWORD event) {
}


/*
 *  USB Endpoint 2 Event Callback
 *   Called automatically on USB Endpoint 2 Event
 *    Parameter:       event
 */

void USB_EndPoint2 (DWORD event) {
}


/*
 *  USB Endpoint 3 Event Callback
 *   Called automatically on USB Endpoint 3 Event
 *    Parameter:       event
 */

void USB_EndPoint3 (DWORD event) {
#if USB_DMA
  USB_DMA_DESCRIPTOR DD;

  if (event & USB_EVT_OUT_DMA_EOT) {
    /* End of Transfer */
    if (USB_DMA_BufAdr(0x03) != ((DWORD)DataBuf + 2*DataIn)) {
      /* Data Available */
      DataIn += P_C*P_S;                    /* Update Data In Index */
      DataIn &= B_S - 1;                    /* Adjust Data In Index */
      if (((DataIn - DataOut) & (B_S - 1)) == (B_S/2)) {
        DataRun = 1;                        /* Data Stream running */
      }
    } else {
      /* No Data */
      DataRun = 0;                          /* Data Stream not running */
      DataOut = DataIn;                     /* Initialize Data Indexes */
    }
  }
  if (event & (USB_EVT_OUT_DMA_EOT) | (USB_EVT_OUT_DMA_NDR)) {
    /* End of Transfer or New Descriptor Request */
    DD.BufAdr  = (DWORD)DataBuf + 2*DataIn; /* DMA Buffer Address */
    DD.BufLen  = P_C;                       /* DMA Packet Count */
    DD.MaxSize = 0;                         /* Must be 0 for Iso Transfer */
    DD.InfoAdr = (DWORD)InfoBuf;            /* Packet Info Buffer Address */
    DD.Cfg.Val = 0;                         /* Initial DMA Configuration */
    DD.Cfg.Type.IsoEP = 1;                  /* Iso Endpoint */
    USB_DMA_Setup (0x03, &DD);              /* Setup DMA */
    USB_DMA_Enable(0x03);                   /* Enable DMA */
  }
#endif
}


/*
 *  USB Endpoint 4 Event Callback
 *   Called automatically on USB Endpoint 4 Event
 *    Parameter:       event
 */

void USB_EndPoint4 (DWORD event) {
}


/*
 *  USB Endpoint 5 Event Callback
 *   Called automatically on USB Endpoint 5 Event
 *    Parameter:       event
 */

void USB_EndPoint5 (DWORD event) {
}


/*
 *  USB Endpoint 6 Event Callback
 *   Called automatically on USB Endpoint 6 Event
 *    Parameter:       event
 */

void USB_EndPoint6 (DWORD event) {
}


/*
 *  USB Endpoint 7 Event Callback
 *   Called automatically on USB Endpoint 7 Event
 *    Parameter:       event
 */

void USB_EndPoint7 (DWORD event) {
}


/*
 *  USB Endpoint 8 Event Callback
 *   Called automatically on USB Endpoint 8 Event
 *    Parameter:       event
 */

void USB_EndPoint8 (DWORD event) {
}


/*
 *  USB Endpoint 9 Event Callback
 *   Called automatically on USB Endpoint 9 Event
 *    Parameter:       event
 */

void USB_EndPoint9 (DWORD event) {
}


/*
 *  USB Endpoint 10 Event Callback
 *   Called automatically on USB Endpoint 10 Event
 *    Parameter:       event
 */

void USB_EndPoint10 (DWORD event) {
}


/*
 *  USB Endpoint 11 Event Callback
 *   Called automatically on USB Endpoint 11 Event
 *    Parameter:       event
 */

void USB_EndPoint11 (DWORD event) {
}


/*
 *  USB Endpoint 12 Event Callback
 *   Called automatically on USB Endpoint 12 Event
 *    Parameter:       event
 */

void USB_EndPoint12 (DWORD event) {
}


/*
 *  USB Endpoint 13 Event Callback
 *   Called automatically on USB Endpoint 13 Event
 *    Parameter:       event
 */

void USB_EndPoint13 (DWORD event) {
}


/*
 *  USB Endpoint 14 Event Callback
 *   Called automatically on USB Endpoint 14 Event
 *    Parameter:       event
 */

void USB_EndPoint14 (DWORD event) {
}


/*
 *  USB Endpoint 15 Event Callback
 *   Called automatically on USB Endpoint 15 Event
 *    Parameter:       event
 */

void USB_EndPoint15 (DWORD event) {
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品免费日韩av| 欧美日本一道本| 成人国产精品免费观看动漫| 国产酒店精品激情| 成人sese在线| 91精品办公室少妇高潮对白| 欧美在线小视频| 欧美日韩黄色影视| 日韩你懂的在线观看| 91精品在线麻豆| 国产婷婷精品av在线| 一区二区视频在线看| 亚洲三级小视频| 美女视频一区在线观看| 99久久精品免费精品国产| 欧美亚男人的天堂| 国产日韩成人精品| 视频一区国产视频| 97精品国产97久久久久久久久久久久| 欧美午夜免费电影| 国产日本亚洲高清| 捆绑变态av一区二区三区| 北条麻妃国产九九精品视频| 日韩一二三区不卡| 中文字幕综合网| 国产一区二区0| 日韩欧美一区二区久久婷婷| 综合久久综合久久| 99国产精品久久久| 国产偷国产偷精品高清尤物| 久久av中文字幕片| 这里只有精品99re| 日日夜夜精品视频免费| 国产美女主播视频一区| 欧美三级视频在线| 亚洲资源在线观看| 欧洲一区在线观看| 亚洲国产精品自拍| 欧美另类变人与禽xxxxx| 亚洲风情在线资源站| 在线中文字幕一区二区| 午夜精品成人在线视频| 欧美中文字幕一区二区三区 | 国产精品灌醉下药二区| 国产高清亚洲一区| 国产精品对白交换视频| 91黄色免费网站| 日本美女一区二区| 久久久午夜精品| 成人国产视频在线观看| 一区二区三区欧美在线观看| 欧美午夜精品一区二区三区| 日韩在线一二三区| 精品国产凹凸成av人导航| jizzjizzjizz欧美| 亚洲综合丝袜美腿| 久久综合国产精品| 99久久99久久精品免费看蜜桃| 日韩免费性生活视频播放| 粉嫩av一区二区三区在线播放| 亚洲大尺度视频在线观看| 精品嫩草影院久久| 欧美日韩国产a| 成人丝袜高跟foot| 日本成人在线电影网| 日韩免费在线观看| 欧美日韩国产综合草草| 成人av网址在线| 国产呦精品一区二区三区网站| 国产精品欧美久久久久无广告 | 亚洲国产精品久久不卡毛片| 欧美tickling网站挠脚心| 欧美性大战久久久久久久| 国产九九视频一区二区三区| 蜜桃视频在线观看一区| 日韩精品国产精品| 午夜亚洲福利老司机| 亚洲精品久久久蜜桃| 亚洲欧美激情一区二区| 自拍av一区二区三区| 综合久久久久久| 亚洲特级片在线| 亚洲与欧洲av电影| 亚洲一区二区3| 男人的天堂亚洲一区| 久久精品亚洲一区二区三区浴池| 欧美mv和日韩mv国产网站| 91精品在线免费| 久久久久久夜精品精品免费| 色婷婷精品大在线视频| 欧美日韩精品欧美日韩精品一综合| 91在线云播放| 欧美日韩精品一二三区| 久久久天堂av| 综合在线观看色| 日韩av网站在线观看| 黄一区二区三区| 99在线热播精品免费| 欧美视频一区二区三区| 精品久久国产老人久久综合| 国产精品国产三级国产三级人妇| 一区二区三区在线视频观看| 天天射综合影视| 成人动漫av在线| 欧美电影免费观看高清完整版在| 欧美激情自拍偷拍| 日韩av不卡一区二区| 99综合电影在线视频| 欧美zozozo| 爽爽淫人综合网网站| 91最新地址在线播放| 国产午夜精品理论片a级大结局| 亚洲综合网站在线观看| 成人亚洲一区二区一| 日韩一区二区三区四区五区六区| 欧美电影免费观看高清完整版在| 中文字幕亚洲综合久久菠萝蜜| 国产三级欧美三级| 亚洲嫩草精品久久| 成人免费视频一区二区| 麻豆精品一区二区三区| 国产精品网站在线播放| 亚洲三级久久久| 国产麻豆成人精品| 国产目拍亚洲精品99久久精品| 99国产欧美另类久久久精品| 日韩欧美一级在线播放| 精品国产一区二区三区忘忧草| 亚洲国产日韩精品| 国产河南妇女毛片精品久久久| 色婷婷一区二区三区四区| 亚洲成av人片在线观看无码| 99精品热视频| 夜夜嗨av一区二区三区四季av| 中日韩av电影| 欧美岛国在线观看| 欧美日韩一级二级| 亚洲成av人在线观看| 亚洲一二三四在线| 欧美日韩精品是欧美日韩精品| caoporm超碰国产精品| 亚洲图片有声小说| 午夜国产精品一区| 欧美三级韩国三级日本三斤| 欧美日韩国产综合久久 | 91精彩视频在线观看| 国产精品白丝jk白祙喷水网站| 国产色爱av资源综合区| 亚洲图片欧美视频| 亚洲成av人片www| 欧美韩国日本不卡| 欧美性大战久久久久久久| 精品乱人伦小说| 男女男精品视频网| 国产精品久久久久永久免费观看 | a亚洲天堂av| 亚洲激情男女视频| 欧美一级片在线看| 在线视频你懂得一区二区三区| 亚洲精品一区二区三区蜜桃下载| 视频一区欧美精品| 中文字幕在线不卡一区| 91国产视频在线观看| 国产精品一区二区不卡| 日韩专区在线视频| 亚洲激情欧美激情| 美女性感视频久久| 91色视频在线| 蜜桃视频在线观看一区二区| 欧美亚洲国产一区二区三区va | 欧美日韩色一区| 一区二区三区四区国产精品| k8久久久一区二区三区| 麻豆精品在线播放| 久久久91精品国产一区二区精品| 国产精品久久久久影院亚瑟| 这里只有精品视频在线观看| 精一区二区三区| 一二三四社区欧美黄| 亚洲一线二线三线视频| 欧洲精品一区二区三区在线观看| 国产综合色视频| 成人h动漫精品| 精品少妇一区二区三区免费观看| 日韩av电影一区| 国产精一区二区三区| 国产视频一区不卡| 无码av中文一区二区三区桃花岛| 99视频超级精品| 国产一区二区三区av电影| 成人免费视频在线观看| 欧美亚一区二区| 日韩精品一二三| 精品久久久久99| 波多野结衣亚洲一区| 欧美私人免费视频| 中文字幕在线观看不卡| 一本一道综合狠狠老| 狠狠色伊人亚洲综合成人| 欧美久久久久久久久久|