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

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

?? f34x_msd_msd.c

?? 有關單片機的學習文檔
?? C
字號:
//-----------------------------------------------------------------------------
// F34x_MSD_MSD.c
//-----------------------------------------------------------------------------
// Copyright 2007 Silicon Laboratories, Inc.
// http://www.silabs.com
//
// Program Description:
//
// This module contains the crank function. This function is used to checking
// the request and preparing the response action for its. The fact that it's
// crank function means that in one cycle this function can make only one step.
// That means it can't check and response in this same cycle. It works more
// like state machine. One step can only repose for actual state and change
// this state to another. The response for other state occurs in next step.
//
//
//
// How To Test:    See Readme.txt
//
//
// FID:            34X000046
// Target:         C8051F34x
// Tool chain:     Keil
// Command Line:   See Readme.txt
// Project Name:   F34x_USB_MSD
//
// Release 1.2
//    -All changes by BD and PD
//    -5 OCT 2007
//    -No changes; incremented revision number to match project revision
//
// Release 1.1
//    -All changes by PKC
//    -09 JUN 2006
//    -No changes; incremented revision number to match project revision
//
// Release 1.0
//    -Initial Release
//

//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------

#include "F34x_MSD_USB_Main.h"
#include "F34x_MSD_Msd.h"
#include "F34x_MSD_Scsi.h"
#include "F34x_MSD_Util.h"
#include <stdio.h>

#define DIRECTION_IN	0x80
#define DIRECTION_OUT	0x00

#define CBW_SIGNATURE 0x55534243
#define CSW_SIGNATURE 0x55534253

#define MSD_READY 					0x00
#define MSD_COMMAND_TRANSPORT 		0x01
#define MSD_DATA_IN					0x02
#define MSD_DATA_OUT				0x03
#define MSD_STATUS_TRANSPORT		0x04
#define MSD_DATA					0x05
#define MSD_DO_RESET				0xFF

BYTE xdata Msd_State=MSD_READY;

CBW xdata cbw;
CSW xdata csw;

/*
/* Removed these to safe some memory space (not called on Windows or MAC platform anyway).
/*
void Msd_Reset_(unsigned char itf) {
	itf=0; // Get rid of compiler warning
	Msd_State=MSD_DO_RESET;
}

unsigned char Msd_GetMaxLUN(unsigned char itf) {
	return itf&0; // Only 1 LUN supported (itf&0 gets rid of compiler warning).
}
*/

//----------------------------------------------------------------------------
// Msd_Step
//----------------------------------------------------------------------------
//
// This is a crank function. It checks if something is received and calls the
// responding functions (USB).
//
// Parameters   :
// Return Value :
//----------------------------------------------------------------------------

void Msd_Step()
{
  switch(Msd_State) {
    case MSD_READY:
      if(Out_Count) {
      // Look for a "valid" and "meaningful" CBW, as defined in the spec:
      // Check size
        if(Out_Count!=sizeof(CBW)) {
          Out2_Get_Data(Out_Packet);
          Out2_Done();
          return;
        }

        Out2_Get_Data((BYTE*)&cbw);
        Out2_Done();

        // Check signature, reserved bits & LUN
        if((cbw.dCBWSignature!=CBW_SIGNATURE) ||
          ((cbw.bmCBWFlags!=DIRECTION_IN && cbw.bmCBWFlags!=DIRECTION_OUT) || (cbw.bCBWLUN&0xF0) || (cbw.bCBWCBLength>16)) ||
          (cbw.bCBWLUN!=0x00)) {
          return;
        }

        Msd_State=MSD_DATA;
      }
		  break;

    case MSD_DATA:
      Scsi_Rx();
      Msd_State=MSD_STATUS_TRANSPORT;
      break;

		case MSD_STATUS_TRANSPORT:
			// Reply with a CSW:
      csw.dCSWSignature=CSW_SIGNATURE;
      csw.dCSWTag=cbw.dCBWTag;
      csw.bCSWStatus=Scsi_Status;
      csw.dCSWDataResidue=ntohl(Scsi_Residue);

      USB_In((BYTE*)&csw,sizeof(CSW));

      Msd_State=MSD_READY;
      break;

    case MSD_DO_RESET:
      //printf("RESET! ");
      // Fall-through
    default:
			//printf("Unexpected MSD state!\n");
      Msd_State=MSD_READY;
      break;
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情文学综合插| 欧美日韩在线不卡| 精品视频免费看| 国产欧美日韩三区| 蜜桃精品视频在线观看| 91免费观看视频| 久久精品欧美一区二区三区麻豆| 亚洲国产精品久久人人爱| 高清beeg欧美| 久久久国产一区二区三区四区小说 | 国产欧美一区在线| 日韩av在线发布| 欧美亚洲自拍偷拍| 国产精品成人一区二区艾草| 久久草av在线| 88在线观看91蜜桃国自产| 亚洲美女视频一区| 成人app网站| 久久久精品2019中文字幕之3| 日韩高清电影一区| 欧美亚洲尤物久久| 亚洲一区二区三区中文字幕在线| 丁香六月综合激情| 国产欧美精品日韩区二区麻豆天美| 久久9热精品视频| 日韩午夜小视频| 美国欧美日韩国产在线播放| 宅男噜噜噜66一区二区66| 亚洲成人1区2区| 欧美色图片你懂的| 一区二区三区精品| 色一情一伦一子一伦一区| 亚洲欧美日韩国产另类专区| 97精品国产97久久久久久久久久久久| 中文字幕巨乱亚洲| 北岛玲一区二区三区四区| 自拍偷拍国产亚洲| 一本色道亚洲精品aⅴ| 亚洲欧美日韩国产中文在线| 91热门视频在线观看| 亚洲欧美日本在线| 欧洲精品中文字幕| 三级在线观看一区二区| 日韩一区二区在线看| 韩日av一区二区| 国产欧美日韩中文久久| 成人动漫一区二区在线| 亚洲另类一区二区| 欧美三级韩国三级日本三斤| 日韩精品电影一区亚洲| 精品久久久久一区| 粉嫩在线一区二区三区视频| 亚洲人成网站色在线观看| 欧美日韩综合在线| 久久99最新地址| 国产校园另类小说区| 99精品视频免费在线观看| 亚洲综合网站在线观看| 欧美一区二区成人| 国产99久久久国产精品| 亚洲电影第三页| 欧美哺乳videos| 91色在线porny| 丝袜美腿一区二区三区| 久久精品免费在线观看| 色天使久久综合网天天| 美女一区二区在线观看| 国产精品日日摸夜夜摸av| 日本高清视频一区二区| 老司机精品视频线观看86| 国产精品久久久久久久久久久免费看 | 国产欧美日韩视频在线观看| 欧美在线不卡一区| 国产美女娇喘av呻吟久久| 亚洲日本在线看| 欧美刺激午夜性久久久久久久| 成人深夜视频在线观看| 三级久久三级久久久| 国产精品毛片久久久久久久| 欧美日韩一卡二卡三卡 | jiyouzz国产精品久久| 午夜免费久久看| 亚洲国产高清aⅴ视频| 7777精品伊人久久久大香线蕉| 粉嫩av一区二区三区在线播放| 亚洲v日本v欧美v久久精品| 中文字幕不卡的av| 欧美成人精精品一区二区频| 91国偷自产一区二区三区成为亚洲经典 | 中文字幕日韩av资源站| 日韩视频一区在线观看| 一本一本久久a久久精品综合麻豆| 国内精品久久久久影院一蜜桃| 亚洲国产毛片aaaaa无费看 | 欧美精品久久久久久久多人混战| 国产成人免费视频网站高清观看视频 | 中文一区二区完整视频在线观看 | 亚洲va韩国va欧美va| 亚洲视频一区二区在线| 精品国产sm最大网站| 欧美精品免费视频| 91久久免费观看| 91小视频在线| 成人免费av在线| 国产经典欧美精品| 韩国理伦片一区二区三区在线播放| 亚洲国产精品影院| 亚洲欧美韩国综合色| 久久久久久毛片| 精品国产亚洲在线| 精品99一区二区三区| 日韩免费看的电影| 精品乱码亚洲一区二区不卡| 欧美丰满高潮xxxx喷水动漫| 在线视频一区二区三区| 欧洲精品一区二区| 在线欧美日韩精品| 欧美亚洲国产bt| 欧美日韩综合在线免费观看| 欧美日韩国产乱码电影| 欧美乱妇一区二区三区不卡视频| 日本久久一区二区三区| 欧美优质美女网站| 欧美日韩免费视频| 日韩美一区二区三区| wwww国产精品欧美| 国产精品久久久久久久久免费相片| 亚洲国产精品二十页| 亚洲欧美一区二区视频| 亚洲精品免费一二三区| 亚洲欧美成人一区二区三区| 一区二区久久久久久| 奇米亚洲午夜久久精品| 国内成+人亚洲+欧美+综合在线| 国产精品一级片| 色婷婷激情一区二区三区| 欧美日韩精品一区二区在线播放| 欧美一级高清片在线观看| 亚洲精品一区二区精华| 中文字幕一区二区三中文字幕| 亚洲免费av高清| 日本大胆欧美人术艺术动态| 麻豆成人免费电影| 9色porny自拍视频一区二区| 欧美午夜一区二区三区免费大片| 日韩视频免费直播| 欧美国产日产图区| 亚洲va欧美va人人爽| 黄色精品一二区| 91视频观看视频| 欧美电视剧免费观看| 一区在线播放视频| 日本中文字幕一区| 成人精品视频一区二区三区 | 欧美一区二区三区婷婷月色| 亚洲精品一区二区三区精华液| 中文字幕一区日韩精品欧美| 日韩 欧美一区二区三区| 国产91丝袜在线18| 91麻豆精品国产91久久久久| 国产精品天干天干在观线| 亚洲成人一区二区| 国产91精品露脸国语对白| 欧美伦理影视网| ...xxx性欧美| 黄色成人免费在线| 欧美日韩免费一区二区三区| 国产欧美一区二区精品婷婷| 日韩高清在线一区| 一本到高清视频免费精品| 亚洲精品一区二区三区99| 亚洲国产精品精华液网站| 成人高清在线视频| 欧美草草影院在线视频| 亚洲高清在线视频| 一本色道a无线码一区v| 欧美激情中文不卡| 九九九精品视频| 6080yy午夜一二三区久久| 亚洲精品综合在线| 成人涩涩免费视频| 亚洲精品一区二区三区蜜桃下载 | 激情综合色播五月| 欧美日韩在线播放一区| 综合在线观看色| 东方aⅴ免费观看久久av| 日韩欧美在线不卡| 日韩高清在线观看| 337p亚洲精品色噜噜狠狠| 一区二区三区电影在线播| 成人禁用看黄a在线| 久久久久99精品一区| 精品一区在线看| 日韩视频免费观看高清在线视频| 亚洲国产美女搞黄色| 欧美色区777第一页| 天天射综合影视| 欧美精品一级二级三级| 亚洲福利视频导航| 欧美日韩国产美女|