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

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

?? usbuser.c

?? example about how to use USB port in application audio with lpc2148
?? C
字號:
/*----------------------------------------------------------------------------
 *      U S B  -  K e r n e l
 *----------------------------------------------------------------------------
 *      Name:    USBUSER.C
 *      Purpose: USB Custom User Module
 *      Version: V1.10
 *----------------------------------------------------------------------------
 *      This software is supplied "AS IS" without any warranties, express,
 *      implied or statutory, including but not limited to the implied
 *      warranties of fitness for purpose, satisfactory quality and
 *      noninfringement. Keil extends you a royalty-free right to reproduce
 *      and distribute executable files created using this software for use
 *      on Philips LPC microcontroller devices only. Nothing else gives you
 *      the right to use this software.
 *
 *      Copyright (c) 2005-2006 Keil Software.
 *---------------------------------------------------------------------------*/

#include <LPC214X.H>                        /* LPC214x 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) {
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久免费看| 奇米色777欧美一区二区| 国产乱色国产精品免费视频| 欧美日韩成人高清| 一区二区在线免费观看| 91蜜桃网址入口| 中文字幕一区二区在线播放| 国产乱码字幕精品高清av| 欧美精品一区二区三区一线天视频| 日韩精品一区第一页| 91网站在线播放| 亚洲视频电影在线| 色狠狠一区二区| 亚洲精品久久久久久国产精华液| 91啪亚洲精品| 亚洲一二三区不卡| 欧美福利视频一区| 精品制服美女丁香| 国产欧美日韩一区二区三区在线观看| 国产在线一区观看| 欧美一级日韩一级| 久久国产福利国产秒拍| 精品三级av在线| 九九视频精品免费| 1000部国产精品成人观看| 99久久久久久99| 亚洲午夜精品久久久久久久久| 欧美日韩一区高清| 国产不卡高清在线观看视频| 中文幕一区二区三区久久蜜桃| 99久久精品免费精品国产| 亚洲高清一区二区三区| 亚洲精品一区二区三区99| 99re热视频精品| 午夜av一区二区三区| 欧美电影免费观看高清完整版在 | 精品噜噜噜噜久久久久久久久试看| 麻豆成人久久精品二区三区红| 国产婷婷色一区二区三区四区| 99久久久无码国产精品| 日本不卡一区二区| 26uuu久久综合| 精品日韩在线观看| 色诱视频网站一区| 午夜在线电影亚洲一区| 久久亚区不卡日本| 欧美午夜精品一区| 成人美女在线视频| 日韩福利视频导航| 国产精品美女久久久久久2018| 欧美日韩综合一区| 中文字幕av不卡| 日韩午夜激情av| 91在线视频观看| 老司机免费视频一区二区三区| 国产精品久久久久久一区二区三区 | 日本亚洲电影天堂| 亚洲国产成人私人影院tom| 国产一区视频导航| 久久精品噜噜噜成人88aⅴ| 国产精品人成在线观看免费| 欧美亚洲日本一区| 成人一区二区三区| 欧美成人a∨高清免费观看| 在线欧美一区二区| 丰满亚洲少妇av| 九九视频精品免费| 午夜a成v人精品| 亚洲va欧美va人人爽午夜| 国产清纯在线一区二区www| 日韩写真欧美这视频| 欧美伊人精品成人久久综合97 | 久久精品视频在线免费观看| 欧美伦理影视网| 亚洲免费高清视频在线| 国产亚洲欧美日韩在线一区| 91精品欧美综合在线观看最新| 色偷偷久久人人79超碰人人澡| 97aⅴ精品视频一二三区| 国产精品一区二区免费不卡 | 秋霞成人午夜伦在线观看| 中文字幕在线观看不卡视频| 91麻豆精品国产| 欧美日韩成人综合在线一区二区| 91啦中文在线观看| 粉嫩av一区二区三区粉嫩 | 在线观看成人免费视频| 成人午夜激情影院| 国产91丝袜在线播放九色| 免费看日韩a级影片| 中文字幕va一区二区三区| 国产欧美精品一区| 国产亚洲欧美中文| 国产精品国产精品国产专区不蜜| 亚洲日本欧美天堂| 午夜电影久久久| 九九**精品视频免费播放| 成人综合在线观看| 色综合天天综合狠狠| 一本大道久久精品懂色aⅴ| 欧美三区在线视频| 精品国产一区二区三区久久久蜜月| 久久综合av免费| 国产精品麻豆一区二区| 一区二区三区不卡在线观看| 免费在线看成人av| 国产精品一区2区| 色狠狠桃花综合| 欧美一区二区大片| 国产精品久久毛片| 日韩中文字幕亚洲一区二区va在线| 久久精品国产在热久久| 久久蜜臀精品av| 亚洲精品免费视频| 精品一区二区久久| 日本韩国精品一区二区在线观看| 8v天堂国产在线一区二区| 国产蜜臀av在线一区二区三区| 亚洲码国产岛国毛片在线| 美女尤物国产一区| 99在线精品视频| 欧美大片一区二区三区| 中文字幕在线观看不卡| 六月丁香婷婷色狠狠久久| 成人av电影免费在线播放| 欧美一区二区日韩| 亚洲天堂网中文字| 国产中文一区二区三区| 欧美日韩一区视频| 国产精品萝li| 久久精品国产99久久6| 色香蕉成人二区免费| 久久久久久久久久久电影| 亚洲一区二区三区国产| 高清在线成人网| 日韩欧美成人一区| 亚洲制服丝袜av| 99在线热播精品免费| 精品不卡在线视频| 婷婷综合五月天| 91麻豆swag| 国产精品久久午夜夜伦鲁鲁| 国内精品久久久久影院一蜜桃| 欧洲生活片亚洲生活在线观看| 中文字幕欧美日韩一区| 久久99精品国产91久久来源| 欧美日韩五月天| 1区2区3区精品视频| 成人精品鲁一区一区二区| www欧美成人18+| 男人操女人的视频在线观看欧美| 在线观看国产一区二区| 一区免费观看视频| 成人综合日日夜夜| 国产丝袜欧美中文另类| 精品一区二区三区在线观看国产| 欧美日韩精品综合在线| 亚洲综合在线五月| 欧美主播一区二区三区| 亚洲精品一二三区| 99精品久久只有精品| 国产精品久久久久久一区二区三区| 国产成人h网站| 欧美国产精品中文字幕| 国产精品亚洲第一区在线暖暖韩国| 精品国产成人系列| 国产精品资源在线| 中文字幕av不卡| 国产成人在线视频免费播放| 久久久亚洲高清| 国产精品一级在线| 国产视频一区二区三区在线观看| 国产91在线|亚洲| 国产精品久久久久三级| 91天堂素人约啪| 亚洲黄色免费电影| 欧美视频一区二区三区| 日韩在线卡一卡二| 欧美不卡在线视频| 国产乱对白刺激视频不卡| 中文字幕巨乱亚洲| 91在线无精精品入口| 亚洲国产综合视频在线观看| 宅男噜噜噜66一区二区66| 麻豆精品在线观看| 国产欧美日韩另类一区| 一本久久综合亚洲鲁鲁五月天 | 欧美一级在线视频| 激情文学综合插| 国产精品麻豆网站| 欧美日韩日日夜夜| 秋霞电影一区二区| 欧美激情中文字幕一区二区| 99视频一区二区三区| 亚洲bt欧美bt精品| 久久综合久久综合亚洲| 99在线精品观看| 日韩电影一区二区三区| 国产三级久久久| 欧美日韩一区在线|