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

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

?? f3xx_usb0_reporthandler.c

?? usb鼠標(biāo)源程序
?? C
字號:
//-----------------------------------------------------------------------------
// F3xx_USB0_ReportHandler.c
//-----------------------------------------------------------------------------
// Copyright 2005 Silicon Laboratories, Inc.
// http://www.silabs.com
//
// Program Description:
//
// Contains functions and variables dealing with Input and Output
// HID reports.
//
// How To Test:    See Readme.txt
//
//
// FID:            3XX000038
// Target:         C8051F340
// Tool chain:     Keil C51 7.50 / Keil EVAL C51
//                 Silicon Laboratories IDE version 2.6
// Command Line:   See Readme.txt
// Project Name:   F3xx_MouseExample
//
// Release 1.0
//    -Initial Revision (PD)
//    -07 DEC 2005
//


// ----------------------------------------------------------------------------
// Header files
// ----------------------------------------------------------------------------

#include "F3xx_USB0_ReportHandler.h"
#include "F3xx_USB0_InterruptServiceRoutine.h"
#include "F3xx_USB0_Mouse.h"


// ----------------------------------------------------------------------------
// Local Function Prototypes
// ----------------------------------------------------------------------------

// ****************************************************************************
// Add custom Report Handler Prototypes Here
// ****************************************************************************

void IN_Report(void);
void OUT_Report(void);

// ----------------------------------------------------------------------------
// Local Definitions
// ----------------------------------------------------------------------------

// ****************************************************************************
// Set Definitions to sizes corresponding to the number of reports
// ****************************************************************************

#define IN_VECTORTABLESize 1
#define OUT_VECTORTABLESize 1

// ----------------------------------------------------------------------------
// Global Constant Declaration
// ----------------------------------------------------------------------------


// ****************************************************************************
// Link all Report Handler functions to corresponding Report IDs
// ****************************************************************************

const VectorTableEntry code IN_VECTORTABLE[IN_VECTORTABLESize] =
{
   // FORMAT: Report ID, Report Handler
   0, IN_Report
};

// ****************************************************************************
// Link all Report Handler functions to corresponding Report IDs
// ****************************************************************************
const VectorTableEntry code OUT_VECTORTABLE[OUT_VECTORTABLESize] =
{
   // FORMAT: Report ID, Report Handler
   0, OUT_Report
};


// ----------------------------------------------------------------------------
// Global Variable Declaration
// ----------------------------------------------------------------------------

BufferStructure IN_BUFFER, OUT_BUFFER;

// ----------------------------------------------------------------------------
// Local Functions
// ----------------------------------------------------------------------------

// ****************************************************************************
// Add all Report Handler routines here
// ****************************************************************************


// ****************************************************************************
// For Input Reports:
// Point IN_BUFFER.Ptr to the buffer containing the report
// Set IN_BUFFER.Length to the number of bytes that will be
// transmitted.
//
// REMINDER:
// Systems using more than one report must define Report IDs
// for each report.  These Report IDs must be included as the first
// byte of an IN report.
// Systems with Report IDs should set the FIRST byte of their buffer
// to the value for the Report ID
// AND
// must transmit Report Size + 1 to include the full report PLUS
// the Report ID.
//
// ****************************************************************************


void IN_Report(void){

   // save left mouse button stat to bit 0 of first data byte
   IN_PACKET[0] = MOUSE_BUTTON;

   // determine whether X-Axis or Y-Axis is active, then
   // set MOUSE_VECTOR to active axis
   if(MOUSE_AXIS == X_Axis) IN_PACKET[1] = MOUSE_VECTOR;
   else IN_PACKET[1] = 0;

   if(MOUSE_AXIS == Y_Axis) IN_PACKET[2] = MOUSE_VECTOR;
   else IN_PACKET[2] = 0;

   // point IN_BUFFER pointer to data packet and set
   // IN_BUFFER length to transmit correct report size
   IN_BUFFER.Ptr = IN_PACKET;
   IN_BUFFER.Length = 3;

}


// ****************************************************************************
// For Output Reports:
// Data contained in the buffer OUT_BUFFER.Ptr will not be
// preserved after the Report Handler exits.
// Any data that needs to be preserved should be copyed from
// the OUT_BUFFER.Ptr and into other user-defined memory.
//
// ****************************************************************************

void OUT_Report(void)
{
}

// ----------------------------------------------------------------------------
// Global Functions
// ----------------------------------------------------------------------------

// ****************************************************************************
// Configure Setup_OUT_BUFFER
//
// Reminder:
// This function should set OUT_BUFFER.Ptr so that it
// points to an array in data space big enough to store
// any output report.
// It should also set OUT_BUFFER.Length to the size of
// this buffer.
//
// ****************************************************************************

void Setup_OUT_BUFFER(void)
{
}

// ----------------------------------------------------------------------------
// Vector Routines
// ----------------------------------------------------------------------------

// ----------------------------------------------------------------------------
// ReportHandler_IN...
// ----------------------------------------------------------------------------
//
// Return Value - None
// Parameters - Report ID
//
// These functions match the Report ID passed as a parameter
// to an Input Report Handler.
// the ...FG function is called in the SendPacket foreground routine,
// while the ...ISR function is called inside the USB ISR.  A lock
// is set whenever one function is called to prevent a call from the
// other from disrupting the routine.
// However, this should never occur, as interrupts are disabled by SendPacket
// before USB operation begins.
// ----------------------------------------------------------------------------
void ReportHandler_IN_ISR(unsigned char R_ID)
{
   unsigned char index;

   index = 0;

   while(index <= IN_VECTORTABLESize)
   {
      // check to see if Report ID passed into function
  	  // matches the Report ID for this entry in the Vector Table
      if(IN_VECTORTABLE[index].ReportID == R_ID)
      {
         IN_VECTORTABLE[index].hdlr();
         break;
      }

      // if Report IDs didn't match, increment the index pointer
      index++;
   }

}
void ReportHandler_IN_Foreground(unsigned char R_ID)
{
   unsigned char index;

   index = 0;

   while(index <= IN_VECTORTABLESize)
   {
      // check to see if Report ID passed into function
      // matches the Report ID for this entry in the Vector Table
      if(IN_VECTORTABLE[index].ReportID == R_ID)
      {
         IN_VECTORTABLE[index].hdlr();
         break;
      }

      // if Report IDs didn't match, increment the index pointer
      index++;
   }

}

// ----------------------------------------------------------------------------
// ReportHandler_OUT
// ----------------------------------------------------------------------------
//
// Return Value - None
// Parameters - None
//
// This function matches the Report ID passed as a parameter
// to an Output Report Handler.
//
// ----------------------------------------------------------------------------
void ReportHandler_OUT(unsigned char R_ID){

   unsigned char index;

   index = 0;

   while(index <= OUT_VECTORTABLESize)
   {
      // check to see if Report ID passed into function
      // matches the Report ID for this entry in the Vector Table
      if(OUT_VECTORTABLE[index].ReportID == R_ID)
      {
         OUT_VECTORTABLE[index].hdlr();
         break;
      }

      // if Report IDs didn't match, increment the index pointer
      index++;
   }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲欧美中文| 精品一区二区三区免费视频| jiyouzz国产精品久久| 国产日韩成人精品| 丁香婷婷深情五月亚洲| 国产精品视频看| 99精品黄色片免费大全| 亚洲资源在线观看| 欧美精品一二三| 六月丁香综合在线视频| 国产网站一区二区| av网站一区二区三区| 一区二区免费看| 欧美一区二区福利视频| 国产美女视频91| 1024亚洲合集| 欧美挠脚心视频网站| 精品亚洲porn| 自拍偷拍国产亚洲| 欧美美女激情18p| 国产一区免费电影| 中文字幕一区二区视频| 欧美日韩精品二区第二页| 精品亚洲aⅴ乱码一区二区三区| 性感美女久久精品| 日韩精品在线网站| 波波电影院一区二区三区| 亚洲电影一级片| 久久精品一区四区| 在线观看欧美精品| 国产一区二区三区精品视频| 一区二区三区久久| 久久久综合精品| 欧美少妇性性性| 高清国产一区二区| 天天亚洲美女在线视频| 国产欧美精品国产国产专区| 欧美日韩综合色| 国产成人8x视频一区二区| 亚洲国产日韩av| 国产欧美精品一区| 日韩视频在线你懂得| 色综合久久中文字幕| 久久99最新地址| 亚洲午夜羞羞片| 国产精品免费视频观看| 日韩女优av电影在线观看| 色综合天天综合网天天狠天天| 久久精品二区亚洲w码| 一区二区三区中文在线观看| 2021国产精品久久精品| 欧美精品久久99| 在线视频一区二区三| 粉嫩一区二区三区性色av| 久久精工是国产品牌吗| 亚洲午夜久久久久久久久电影院 | 国产精品电影一区二区三区| 欧美一二三区在线| 精品视频一区三区九区| www.综合网.com| 国产a视频精品免费观看| 蜜臀91精品一区二区三区| 亚洲一区二区欧美日韩| 国产精品入口麻豆原神| 亚洲精品一区二区三区福利| 5月丁香婷婷综合| 欧美日韩精品系列| 欧美亚洲综合网| 亚洲黄色片在线观看| 成人白浆超碰人人人人| 国产精品美女久久久久久久网站| 青青草精品视频| 午夜在线成人av| 国产三级一区二区| 久久综合一区二区| wwwwww.欧美系列| 欧美成人乱码一区二区三区| 欧美丰满少妇xxxxx高潮对白| 欧美调教femdomvk| 欧美群妇大交群中文字幕| 91福利在线免费观看| 一本大道av伊人久久综合| 不卡av免费在线观看| 成人精品一区二区三区四区| 岛国精品在线播放| 99re热视频精品| 91麻豆福利精品推荐| 一本一道久久a久久精品| 在线观看中文字幕不卡| 欧美午夜寂寞影院| 在线综合视频播放| 国产剧情在线观看一区二区| 一区二区免费在线播放| 国产偷国产偷精品高清尤物| 国产欧美一二三区| 国产精品传媒入口麻豆| 蜜桃91丨九色丨蝌蚪91桃色| 国产在线视频一区二区| 成人综合日日夜夜| 91久久久免费一区二区| 91.麻豆视频| 2020国产精品| 综合久久久久综合| 亚洲国产成人91porn| 欧美aⅴ一区二区三区视频| 国产老肥熟一区二区三区| 99热国产精品| 欧美高清精品3d| 中文字幕乱码亚洲精品一区| 亚洲人成人一区二区在线观看| 亚洲成av人片一区二区梦乃| 极品少妇xxxx精品少妇偷拍| 成人动漫一区二区在线| 欧美日韩成人激情| 337p日本欧洲亚洲大胆精品| 中文字幕一区日韩精品欧美| 三级影片在线观看欧美日韩一区二区 | 69久久99精品久久久久婷婷| 欧美中文字幕一区二区三区| 日韩欧美国产三级电影视频| 国产欧美一区二区精品婷婷| 亚洲国产精品久久一线不卡| 韩国成人在线视频| 99久精品国产| 精品久久一二三区| 亚洲精品免费在线观看| 九色|91porny| 91免费在线播放| 久久久久久亚洲综合影院红桃| 亚洲欧美日韩一区| 国产麻豆午夜三级精品| 在线观看亚洲专区| 久久久久国产精品厨房| 五月综合激情婷婷六月色窝| 粉嫩av一区二区三区| 9191久久久久久久久久久| 国产精品美日韩| 久久国内精品视频| 欧美日韩在线电影| 国产精品福利一区| 狠狠狠色丁香婷婷综合久久五月| 欧美图片一区二区三区| 国产精品的网站| 国产乱妇无码大片在线观看| 欧美高清视频www夜色资源网| 亚洲欧美偷拍三级| 3751色影院一区二区三区| 亚洲视频一区二区在线观看| 国产精品亚洲一区二区三区妖精| 欧美一区二区三区播放老司机| 亚洲欧美经典视频| 成人午夜碰碰视频| 久久久精品免费免费| 久久99国产精品免费| 欧美一区二区在线免费播放| 夜夜嗨av一区二区三区网页| 94色蜜桃网一区二区三区| 久久久久久99久久久精品网站| 亚洲在线一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 成人av网址在线| 国产午夜精品一区二区三区视频| 麻豆久久一区二区| 日韩一区二区免费在线观看| 午夜不卡av在线| 欧美区一区二区三区| 天天色综合天天| 3d动漫精品啪啪1区2区免费 | 欧美日韩在线播放一区| 亚洲综合图片区| 欧美午夜精品久久久久久孕妇| 亚洲激情第一区| 欧美视频一区二区| 亚洲国产成人91porn| 欧美电影影音先锋| 青青青伊人色综合久久| 日韩一区二区精品葵司在线| 看国产成人h片视频| 欧美mv日韩mv| 国产精品一线二线三线| 中文字幕不卡的av| 一本到三区不卡视频| 亚洲1区2区3区4区| 日韩视频一区在线观看| 国产精品一区二区在线观看网站| 久久久亚洲精品一区二区三区| 国产精品一区二区免费不卡| 国产精品久久久久影院色老大| 99国产精品国产精品毛片| 亚洲综合一区二区| 91精品国产色综合久久不卡蜜臀| 美女免费视频一区| 日本欧美加勒比视频| 精品亚洲国产成人av制服丝袜| youjizz国产精品| 欧美精品一区二区久久婷婷| 国产综合色产在线精品| 国产精品毛片久久久久久久 | 成人黄色电影在线| 洋洋成人永久网站入口|