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

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

?? usbuser.c

?? MC2300 USBAUDIO PROGRAM. FLASH UPLOAD AND CONNECT USB OPEN MP3.
?? 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-2007 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一区二区三区免费野_久草精品视频
91精品国产91久久久久久一区二区| 久久免费看少妇高潮| 亚洲欧洲综合另类在线| 亚洲午夜久久久久久久久久久 | 中文字幕第一区综合| 亚洲综合久久av| 国产成人综合在线| 4438x成人网最大色成网站| 最新久久zyz资源站| 久久爱另类一区二区小说| 欧美午夜寂寞影院| 亚洲欧美自拍偷拍色图| 国产精品77777竹菊影视小说| 欧美精品一二三区| 亚洲国产欧美在线| 91麻豆福利精品推荐| 国产欧美视频一区二区| 精品一区二区免费视频| 欧美精品一二三区| 亚洲成人免费视| 色综合久久综合中文综合网| 欧美国产激情一区二区三区蜜月| 久久99久久久久久久久久久| 51午夜精品国产| 亚洲成人你懂的| 在线视频你懂得一区| 亚洲色图清纯唯美| heyzo一本久久综合| 中文字幕不卡的av| 丁香六月综合激情| 亚洲国产成人私人影院tom| 国产剧情在线观看一区二区| 欧美不卡视频一区| 狠狠久久亚洲欧美| 26uuu亚洲综合色欧美| 精彩视频一区二区| 久久蜜桃一区二区| 成人性视频网站| 亚洲欧洲成人精品av97| 不卡欧美aaaaa| 亚洲欧美电影一区二区| 久久精品在线观看| 国产不卡视频一区二区三区| 国产精品剧情在线亚洲| 91香蕉视频在线| 亚洲国产aⅴ天堂久久| 欧美日韩国产一区二区三区地区| 性感美女极品91精品| 91精品国产一区二区| 看国产成人h片视频| 久久久久久99精品| 91丨九色丨黑人外教| 午夜视频在线观看一区二区三区| 欧美日韩一区二区三区免费看| 亚洲成av人片| 精品对白一区国产伦| 99久久综合狠狠综合久久| 伊人性伊人情综合网| 884aa四虎影成人精品一区| 国内外成人在线| 亚洲免费观看高清完整版在线观看| 欧美中文字幕一区二区三区亚洲| 日韩和欧美一区二区| 国产亚洲自拍一区| 欧美性大战久久久久久久| 日本人妖一区二区| 国产精品久久久久久久久免费丝袜 | 欧美亚洲禁片免费| 蜜臀久久99精品久久久久宅男| 久久精品水蜜桃av综合天堂| 99久久综合狠狠综合久久| 日韩av中文字幕一区二区三区| 久久精品亚洲一区二区三区浴池| 色综合久久中文综合久久牛| 卡一卡二国产精品| 亚洲免费观看视频| 久久久久久久综合日本| 欧美色视频在线| 国产69精品一区二区亚洲孕妇| 一区二区成人在线| 久久久精品国产免费观看同学| 欧美主播一区二区三区美女| 欧美一区二区在线播放| av日韩在线网站| 久久99精品国产91久久来源| 亚洲久本草在线中文字幕| 久久久久综合网| 欧美一区二区视频免费观看| 一本久久a久久精品亚洲| 国产一区二区视频在线播放| 午夜不卡在线视频| 亚洲素人一区二区| 中文字幕不卡一区| 精品国产免费人成在线观看| 欧美色综合网站| av在线播放不卡| 国产乱子伦视频一区二区三区 | 欧美日韩情趣电影| 成人教育av在线| 国产精品伊人色| 精品一区二区三区在线观看国产| 亚洲va欧美va人人爽| 亚洲乱码国产乱码精品精可以看| 国产日产精品一区| 久久久久久久久久久久久夜| 日韩欧美一区在线| 91精品国产麻豆| 3d成人动漫网站| 制服.丝袜.亚洲.另类.中文 | 亚洲mv在线观看| 一区二区三区四区在线播放| 自拍偷拍亚洲激情| 国产精品美日韩| 国产精品久久看| 综合自拍亚洲综合图不卡区| 国产精品高潮呻吟| 青青草原综合久久大伊人精品优势| 亚洲日本护士毛茸茸| 国产精品不卡在线观看| 中文字幕 久热精品 视频在线| 国产欧美日韩在线| 国产精品网曝门| 中文字幕一区在线| 亚洲乱码国产乱码精品精98午夜 | 久久久国产精华| 久久九九久久九九| 欧美激情在线观看视频免费| 国产三级精品在线| 亚洲欧美一区二区在线观看| 国产精品福利一区| 夜夜爽夜夜爽精品视频| 三级一区在线视频先锋 | 中文字幕在线观看一区二区| 国产精品成人免费| 亚洲一二三级电影| 免费久久精品视频| 国产精品99久久久久久宅男| 成a人片亚洲日本久久| 色婷婷av一区二区三区软件| 欧美在线制服丝袜| 日韩精品一区二区三区四区视频| 久久午夜色播影院免费高清| 中文乱码免费一区二区| 一区二区三区四区在线| 欧美aaaaaa午夜精品| 国产高清亚洲一区| 91官网在线免费观看| 日韩欧美的一区| 国产精品久久久久久久久久久免费看 | 国产suv精品一区二区883| 日韩欧美黄色影院| 中文字幕在线免费不卡| 日韩vs国产vs欧美| www.激情成人| 日韩亚洲欧美高清| 椎名由奈av一区二区三区| 免费观看日韩电影| 国产成人精品免费看| 欧美日韩另类一区| 亚洲国产高清在线观看视频| 天堂va蜜桃一区二区三区漫画版| 国产精品 日产精品 欧美精品| 色八戒一区二区三区| 欧美精品一区二区三区视频 | 秋霞午夜av一区二区三区| 高清久久久久久| 制服视频三区第一页精品| 综合久久一区二区三区| 久久99精品国产.久久久久久| 色综合网站在线| 国产精品久久久久一区二区三区 | 日本电影亚洲天堂一区| 久久久91精品国产一区二区精品 | 一区二区视频在线看| 国产永久精品大片wwwapp| 欧美日韩亚洲综合一区| 综合电影一区二区三区 | 亚洲国产精品视频| 播五月开心婷婷综合| 26uuu欧美| 麻豆精品久久精品色综合| 在线免费观看日本欧美| 九九九精品视频| 欧美日韩久久不卡| 亚洲一区二区三区四区在线观看| 成人综合婷婷国产精品久久蜜臀| 精品三级在线观看| 日本亚洲欧美天堂免费| 91福利在线观看| 亚洲日本丝袜连裤袜办公室| 成人ar影院免费观看视频| 亚洲国产精品精华液2区45| 国产一区二区免费视频| 精品理论电影在线观看 | 精品久久久久久综合日本欧美| 亚洲成在人线在线播放| 欧美性一区二区| 午夜精品久久久久| 3d成人h动漫网站入口| 日本一区中文字幕|