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

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

?? adcuser.c

?? example about how to use USB port in application audio with lpc2148
?? C
字號:
/*----------------------------------------------------------------------------
 *      U S B  -  K e r n e l
 *----------------------------------------------------------------------------
 *      Name:    ADCUSER.C
 *      Purpose: Audio Device Class 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 "type.h"

#include "usb.h"
#include "audio.h"
#include "usbcfg.h"
#include "usbcore.h"
#include "adcuser.h"

#include "demo.h"


      WORD VolCur = 0x0100;     /* Volume Current Value */
const WORD VolMin = 0x0000;     /* Volume Minimum Value */
const WORD VolMax = 0x0100;     /* Volume Maximum Value */
const WORD VolRes = 0x0004;     /* Volume Resolution */


/*
 *  Audio Device Class Interface Get Request Callback
 *   Called automatically on ADC Interface Get Request
 *    Parameters:      None (global SetupPacket and EP0Buf)
 *    Return Value:    TRUE - Success, FALSE - Error
 */

BOOL ADC_IF_GetRequest (void) {

/*
  Interface = SetupPacket.wIndex.WB.L;
  EntityID  = SetupPacket.wIndex.WB.H;
  Request   = SetupPacket.bRequest;
  Value     = SetupPacket.wValue.W;
  ...
*/

  if (SetupPacket.wIndex.W == 0x0200) {
    /* Feature Unit: Interface = 0, ID = 2 */
    if (SetupPacket.wValue.WB.L == 0) {
      /* Master Channel */
      switch (SetupPacket.wValue.WB.H) {
        case AUDIO_MUTE_CONTROL:
          switch (SetupPacket.bRequest) {
            case AUDIO_REQUEST_GET_CUR:
              EP0Buf[0] = Mute;
              return (TRUE);
          }
          break;
        case AUDIO_VOLUME_CONTROL:
          switch (SetupPacket.bRequest) {
            case AUDIO_REQUEST_GET_CUR:
              *((__packed WORD *)EP0Buf) = VolCur;
              return (TRUE);
            case AUDIO_REQUEST_GET_MIN:
              *((__packed WORD *)EP0Buf) = VolMin;
              return (TRUE);
            case AUDIO_REQUEST_GET_MAX:
              *((__packed WORD *)EP0Buf) = VolMax;
              return (TRUE);
            case AUDIO_REQUEST_GET_RES:
              *((__packed WORD *)EP0Buf) = VolRes;
              return (TRUE);
          }
          break;
      }
    }
  }

  return (FALSE);  /* Not Supported */
}


/*
 *  Audio Device Class Interface Set Request Callback
 *   Called automatically on ADC Interface Set Request
 *    Parameters:      None (global SetupPacket and EP0Buf)
 *    Return Value:    TRUE - Success, FALSE - Error
 */

BOOL ADC_IF_SetRequest (void) {

/*
  Interface = SetupPacket.wIndex.WB.L;
  EntityID  = SetupPacket.wIndex.WB.H;
  Request   = SetupPacket.bRequest;
  Value     = SetupPacket.wValue.W;
  ...
*/

  if (SetupPacket.wIndex.W == 0x0200) {
    /* Feature Unit: Interface = 0, ID = 2 */
    if (SetupPacket.wValue.WB.L == 0) {
      /* Master Channel */
      switch (SetupPacket.wValue.WB.H) {
        case AUDIO_MUTE_CONTROL:
          switch (SetupPacket.bRequest) {
            case AUDIO_REQUEST_SET_CUR:
              Mute = EP0Buf[0];
              return (TRUE);
          }
          break;
        case AUDIO_VOLUME_CONTROL:
          switch (SetupPacket.bRequest) {
            case AUDIO_REQUEST_SET_CUR:
              VolCur = *((__packed WORD *)EP0Buf);
              return (TRUE);
          }
          break;
      }
    }
  }

  return (FALSE);  /* Not Supported */
}


/*
 *  Audio Device Class EndPoint Get Request Callback
 *   Called automatically on ADC EndPoint Get Request
 *    Parameters:      None (global SetupPacket and EP0Buf)
 *    Return Value:    TRUE - Success, FALSE - Error
 */

BOOL ADC_EP_GetRequest (void) {

/*
  EndPoint = SetupPacket.wIndex.WB.L;
  Request  = SetupPacket.bRequest;
  Value    = SetupPacket.wValue.W;
  ...
*/
  return (FALSE);  /* Not Supported */
}


/*
 *  Audio Device Class EndPoint Set Request Callback
 *   Called automatically on ADC EndPoint Set Request
 *    Parameters:      None (global SetupPacket and EP0Buf)
 *    Return Value:    TRUE - Success, FALSE - Error
 */

BOOL ADC_EP_SetRequest (void) {

/*
  EndPoint = SetupPacket.wIndex.WB.L;
  Request  = SetupPacket.bRequest;
  Value    = SetupPacket.wValue.W;
  ...
*/
  return (FALSE);  /* Not Supported */
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清在线不卡av| 日韩一区二区三区在线视频| 欧美日韩激情一区二区三区| 2021国产精品久久精品| 亚洲精品国产第一综合99久久| 秋霞成人午夜伦在线观看| 成人av资源在线观看| 欧美一级久久久久久久大片| 亚洲精品视频在线看| 国产高清精品网站| 精品国精品国产尤物美女| 亚洲成av人片一区二区三区| 91视频在线看| 国产精品久久三| 激情六月婷婷综合| 日韩写真欧美这视频| 亚欧色一区w666天堂| 91蜜桃在线免费视频| 中文成人av在线| 国产精品538一区二区在线| 日韩写真欧美这视频| 国产精品综合一区二区| 欧美精品少妇一区二区三区| 亚洲资源在线观看| 色综合激情五月| 亚洲欧美欧美一区二区三区| 97久久久精品综合88久久| 国产欧美日本一区二区三区| 国产美女娇喘av呻吟久久| 精品久久久久一区二区国产| 日韩电影免费在线看| 69堂精品视频| 人人精品人人爱| 91精品免费在线观看| 日本不卡不码高清免费观看| 欧美一区二区三区日韩| 蜜臀久久99精品久久久久久9| 日韩精品专区在线影院重磅| 麻豆精品久久久| 精品国产a毛片| 国产成人亚洲综合a∨猫咪| 国产午夜一区二区三区| 成人一区二区三区视频| 亚洲欧洲日韩av| 在线免费一区三区| 日韩在线a电影| xfplay精品久久| av一二三不卡影片| 亚洲高清三级视频| 欧美videossexotv100| 国产一区二区伦理| 18成人在线观看| 欧美日韩一区高清| 精久久久久久久久久久| 中文字幕第一页久久| 91成人在线免费观看| 日本vs亚洲vs韩国一区三区| 久久一夜天堂av一区二区三区| 成人综合日日夜夜| 香蕉av福利精品导航| 久久久久久久久久电影| 色悠悠久久综合| 久久99这里只有精品| 亚洲线精品一区二区三区八戒| 欧美日韩免费高清一区色橹橹| 精品伊人久久久久7777人| 国产精品毛片久久久久久久| 欧美精品在线视频| 成人中文字幕在线| 首页综合国产亚洲丝袜| 欧美韩国日本综合| 欧美老肥妇做.爰bbww视频| 国产成人精品亚洲日本在线桃色 | 日韩免费性生活视频播放| 丰满岳乱妇一区二区三区 | 国产亚洲欧美日韩日本| 色妞www精品视频| 免费成人av在线播放| 亚洲精品五月天| 国产日韩精品一区| 欧美一级一区二区| 在线一区二区三区| 成人一区二区三区视频| 日韩激情一二三区| 亚洲欧美日韩国产综合在线| 久久只精品国产| 在线播放中文字幕一区| 91在线播放网址| 国产ts人妖一区二区| 日韩中文字幕麻豆| 一区二区视频在线| 国产欧美综合色| 日韩免费性生活视频播放| 欧美日韩黄视频| 日本伦理一区二区| 91一区二区在线观看| 国产成人av一区二区三区在线| 日本视频中文字幕一区二区三区| 一区二区欧美在线观看| 日韩美女精品在线| 国产精品免费视频观看| www欧美成人18+| 精品国产伦一区二区三区免费| 欧美日韩黄色影视| 欧美男女性生活在线直播观看| 一本一本久久a久久精品综合麻豆| 国产美女主播视频一区| 日韩影视精彩在线| 视频在线观看一区| 天堂成人免费av电影一区| 亚洲国产一区二区视频| 亚洲一区二区三区四区在线观看| 亚洲美女免费在线| 亚洲精品高清在线| 亚洲综合色成人| 图片区小说区区亚洲影院| 亚洲国产成人av| 丝袜诱惑制服诱惑色一区在线观看 | 欧美日韩亚洲综合一区二区三区| 色呦呦网站一区| 欧美性生活一区| 欧美肥妇free| 精品国产一区二区三区av性色| 欧美一级高清大全免费观看| 欧美va在线播放| 久久久久久久精| 中文字幕亚洲电影| 一区二区三区中文在线观看| 亚洲精品网站在线观看| 午夜日韩在线观看| 久久精品国产一区二区三| 国模无码大尺度一区二区三区| 国产69精品久久久久毛片| 色综合久久久久综合| 欧美日韩国产不卡| 久久久久国产精品人| 国产精品美女一区二区三区| 亚洲欧美激情视频在线观看一区二区三区| 国产精品电影院| 亚洲国产综合91精品麻豆| 另类小说视频一区二区| 国产成人免费网站| 日本韩国欧美三级| 欧美成人精品福利| 国产精品短视频| 日本91福利区| 99久久777色| 日韩午夜在线影院| 国产精品国产三级国产普通话蜜臀| 一区二区在线观看视频| 麻豆国产91在线播放| 不卡av电影在线播放| 欧美精品粉嫩高潮一区二区| 欧美国产1区2区| 视频一区国产视频| 国产成人精品aa毛片| 777色狠狠一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋| 午夜精品久久久久久久久久久| 国产精品系列在线播放| 欧美日韩不卡在线| 亚洲欧洲精品一区二区精品久久久 | 国产精品动漫网站| 男人的天堂亚洲一区| 91蜜桃网址入口| 久久久青草青青国产亚洲免观| 亚洲成人激情av| 99久久99久久精品免费看蜜桃| 欧美成人三级在线| 一区二区成人在线| 成人动漫一区二区| 日韩欧美国产三级电影视频| 亚洲图片欧美色图| va亚洲va日韩不卡在线观看| 精品福利av导航| 三级欧美在线一区| 色播五月激情综合网| 亚洲视频小说图片| 福利一区福利二区| 欧美r级在线观看| 日韩高清在线电影| 欧美亚洲国产bt| 怡红院av一区二区三区| 99久久综合精品| 欧美国产一区在线| 国产酒店精品激情| 久久精品亚洲乱码伦伦中文| 美国欧美日韩国产在线播放| 欧美日韩国产一级二级| 亚洲二区在线观看| 欧美三级在线看| 亚洲国产欧美日韩另类综合| 日本久久精品电影| 最新高清无码专区| 99国产精品久久久久久久久久久 | 亚洲一区av在线| 欧美视频在线观看一区二区| 亚洲精品日韩综合观看成人91| 成人黄色国产精品网站大全在线免费观看| 精品国产青草久久久久福利|