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

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

?? chap_9.c

?? D12 USB源代碼 硬盤
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
   //*************************************************************************
   //
   //                  P H I L I P S   P R O P R I E T A R Y
   //
   //           COPYRIGHT (c)   1999 BY PHILIPS SINGAPORE.
   //                     --  ALL RIGHTS RESERVED  --
   //
   // File Name:	    CHAP_9.C
   // Author:           Hilbert Zhang ZhenYu
   // Created:          Oct. 1 99
   // Modified:
   // Revision: 		0.0.
   //
   //*************************************************************************
*/

#include <reg51.h>                /* special function register declarations   */

#undef   GLOBAL_EXT

#include "SysCnfg.h"
#include "BasicTyp.H"

#include "usb100.h"

#include "Common.h"
#include "Hal4Sys.h"
#include "Hal4d12.h"
#include "mainloop.h"
#include "chap_9.h"

/*
   //*************************************************************************
   // Public Data
   //*************************************************************************
*/

// bit Flags
STRUC_EXT BITFLAGS BDATA_SEG  bFlags;

// MCU Timer bit flags
BIT_EXT     MCUBF_Timer;
INT8_EXT   Hal4Sys_ClockTicks;

// D12 bit flags
BIT_EXT     D12BF_SetupOverwritten;
BIT_EXT     D12BF_Configuration;

//USB
// DefaultControlPipe Finite State Machine [One-Hot]
INT8_EXT BDATA_SEG DCPFSMstate;
BIT_EXT     DCPFSM_SetupProc;
BIT_EXT     DCPFSM_DataIn;
BIT_EXT     DCPFSM_DataOut;
BIT_EXT     DCPFSM_COhandshake;
BIT_EXT     DCPFSM_CIhandshake;
BIT_EXT     DCPFSM_Stall;
//      DCP FSM
//      SETUP Stage -> SETUP Proc -> DATA OUT Stage -> CONTROL OUT Handshake -> STATUS Stage -> IDLE
//      SETUP Stage -> SETUP Proc -> CONTROL OUT Handshake -> STATUS Stage -> IDLE
//      SETUP Stage -> SETUP Proc -> DATA IN Stage-> CONTROL IN Handshake ->STATUS Stage -> IDLE
//


// USB Device Request
STRUC_EXT   DEVICE_REQUEST DCPDeviceRequest;
INT8_EXT    UsbReq_Recipient;
INT8_EXT    UsbReq_Type;
INT8_EXT    UsbReq_Request;
BIT_EXT     REQBF_DCPRequest_dir;
BIT_EXT     REQBF_StallDCPRequest;
BIT_EXT     REQBF_DCPRequest_EPdir;


// Default Control Pipe Tansfer DCPXfer
INT8_EXT BDATA_SEG Xfer_Space;
BIT_EXT     DCPXfer_atMCUCODE;
BIT_EXT     DCPXfer_atMCURAM;
BIT_EXT     DCPXfer_atEEROM;
BIT_EXT     DCPXfer_atATA;

INT16_EXT  DCPXfer_wResidue;
INT8_EXT   * DCPXfer_pData;

// Bulk-Only TP Finite State Machine [One-Hot]
INT8_EXT BDATA_SEG BOTFSMstate;
BIT_EXT     BOTFSM_CBWProc;
BIT_EXT     BOTFSM_DataIn;
BIT_EXT     BOTFSM_DataOut;
BIT_EXT     BOTFSM_CSWProc;
BIT_EXT     BOTFSM_CSW;
BIT_EXT     BOTFSM_IDLE;
BIT_EXT     BOTFSM_Stall;
//      BOT FSM
//      IDLE Stage ->  CBW -> CBW Proc -> DATA OUT Stage -> CSW Proc -> CSW Stage -> IDLE
//      IDLE Stage ->  CBW -> CBW Proc -> DATA IN Stage -> CSW Proc -> CSW Stage -> IDLE
//      STALL Stage ->  IDLE
//
BIT_EXT     BOTBF_StallAtBulkOut;
BIT_EXT     BOTBF_StallAtBulkIn;

BIT_EXT     BOTXfer_atRAM;
BIT_EXT     BOTXfer_atATA;
BIT_EXT     BOTXfer_atROM;


/*
//*************************************************************************
//  Public temp var
//*************************************************************************
*/

//  Public temp var
STRUC_EXT   FLEXI_INT32 tempvars4UsbReq;
INT8_EXT BDATA_SEG FlexByte;
BIT_EXT     FlexByte_b0 ;
BIT_EXT     FlexByte_b1;
BIT_EXT     FlexByte_b2;
BIT_EXT     FlexByte_b3;
BIT_EXT     FlexByte_b4;
BIT_EXT     FlexByte_b5;
BIT_EXT     FlexByte_b6;
BIT_EXT     FlexByte_b7;


/*
   //*************************************************************************
   // Private temp var
   //*************************************************************************
*/

/*
   //*************************************************************************
   // USB Device Descriptor
   //*************************************************************************
*/
//設備描述符
code USB_DEVICE_DESCRIPTOR DeviceDescr =
{
	sizeof(USB_DEVICE_DESCRIPTOR),         // 設備描述符長度
	USB_DEVICE_DESCRIPTOR_TYPE,            // 設備描述符類型=01
	SWAP(0x0100),                          // 協議版本
    0,                                     // 測試設備類型
	0,                                     // 設備子類
    0,                                     // 設備協議
	EP0_PACKET_SIZE,                       // 端點0最大數據包大小,=10H
   
    SWAP(0x0693),
    SWAP(0x0003),

    SWAP(0x0100),               // 設備系列號
    STR_INDEX_MANUFACTURER,     // 廠商描述符字符串索引,=01H
	STR_INDEX_PRODUCT,          // 產品描述符字符串索引,=02H
	STR_INDEX_SERIALNUMBER,     // 設序列號字符串索引,=03H
    1                           // 可能備置數
};

#define NUM_ENDPOINTS	2         //定義除主控端點外的端點數

#define CONFIG_DESCRIPTOR_LENGTH    (sizeof(USB_CONFIGURATION_DESCRIPTOR) + sizeof(USB_INTERFACE_DESCRIPTOR) + (NUM_ENDPOINTS * sizeof(USB_ENDPOINT_DESCRIPTOR)))

//設備配置描述符
code USB_CONFIGURATION_DESCRIPTOR ConfigDescr =
{
    sizeof(USB_CONFIGURATION_DESCRIPTOR),
    USB_CONFIGURATION_DESCRIPTOR_TYPE,      // 類型,=02H
    SWAP(CONFIG_DESCRIPTOR_LENGTH),         // 返回整個數據長度。包括該配置所返回的所有描述符(配置、接口、端點和類型或供應商)=20H
	1,                                      // 配置所支持的接口數
	1,                                      // 作為Set Configuration 的一個參數選擇配置值 
    0,      //STR_INDEX_CONFIGURATION,      // 用于描述該配置字符串描述符的索引
	0x80,                                   // 配置特性:總線供電
	0x32     // zero power consumption
};

//接口描述符
code USB_INTERFACE_DESCRIPTOR InterfaceDescr =
{
    sizeof(USB_INTERFACE_DESCRIPTOR),
    USB_INTERFACE_DESCRIPTOR_TYPE,              // 接口描述符類型0x04
    0,                                          // 接口數,只有1個
    0,                                          // 可選配置,只有1個
	NUM_ENDPOINTS,                              // 除端點0的端點過索引數目,=02H
    
    //0xdc,0x0a,0xb0,//調試模式	
	USB_CLASS_CODE_MASSSTORAGE_CLASS_DEVICE,    // 類型代號(由USB指定),=08H
	USB_SUBCLASS_CODE_SCSI,                     // 子類型代碼(由USB指定)=06H
	USB_PROTOCOL_CODE_BULK,                     // 協議代碼(由廠商指定)=50H 
    0                                           // 字符串描述符索引
};


// 端點2發送描述符
code USB_ENDPOINT_DESCRIPTOR EP1_TXDescr =
{
	sizeof(USB_ENDPOINT_DESCRIPTOR),
	USB_ENDPOINT_DESCRIPTOR_TYPE,          // 端點描述符類型,=05H
	0x82,                                  // 端點2 IN
	USB_ENDPOINT_TYPE_BULK,                // 端點屬性為批量,=02H
	SWAP(EP2_PACKET_SIZE),                 // 端點發送的最大數據包64
	0                                      // 傳輸間隔時間(批量傳輸該值無效)
};


//端點2接收描述符
code USB_ENDPOINT_DESCRIPTOR EP2_RXDescr =
{
	sizeof(USB_ENDPOINT_DESCRIPTOR),   
	USB_ENDPOINT_DESCRIPTOR_TYPE,        // 端點描述符類型,=05H
	0x2,                                 // 端點2 OUT
	USB_ENDPOINT_TYPE_BULK,              // 端點屬性為批量,=02H
	SWAP(EP2_PACKET_SIZE),               // 端點發送的最大數據包64
	0                                    // 傳輸間隔時間(批量傳輸該值無效)
};


//設備代碼
code USB_STRING_LANGUAGE_DESCRIPTOR  strLanguage =
{
	sizeof(USB_STRING_LANGUAGE_DESCRIPTOR),
	USB_STRING_DESCRIPTOR_TYPE,
	//SWAP(0x0409)
	SWAP(0x0410)
};


//廠商描述符
code USB_STRING_MANUFACTURER_DESCRIPTOR  strManufacturer =
{
	sizeof(USB_STRING_MANUFACTURER_DESCRIPTOR),
	USB_STRING_DESCRIPTOR_TYPE,
	{
	'P', 0,
	'h', 0,
	'i', 0,
	'l', 0,
	'i', 0,
	'p', 0,
	's', 0,
	' ', 0,
	'A', 0,
	'P', 0,
	'I', 0,
	'C', 0}
};


//產品描述符
code USB_STRING_PRODUCT_DESCRIPTOR  strProduct =
{
	sizeof(USB_STRING_PRODUCT_DESCRIPTOR),
	USB_STRING_DESCRIPTOR_TYPE,
	{
	'U', 0,
	'S', 0,
	'B', 0,
	'-', 0,
	'I', 0,
	'D', 0,
	'E', 0,
	' ', 0,
	'A', 0,
	'd', 0,
	'a', 0,
	'p', 0,
	't', 0,
	'e', 0,
    'r', 0}
};


//設備出廠編碼
code USB_STRING_SERIALNUMBER_DESCRIPTOR  strSerialNum =
{
	sizeof(strSerialNum),
	USB_STRING_DESCRIPTOR_TYPE,
   {
	'0',0,
	'0',0,
	'0',0,
	'0',0,

	'0',0,
	'0',0,
	'0',0,
	'0',0,

	'0',0,
	'0',0,
	'0',0,
	'1',0}
};


/*
   //*************************************************************************
   // USB standard device requests
   //*************************************************************************
*/
void Chap9_SetAddress(void)
{
    Hal4D12_SetAddressEnable((INT8)(DCPDeviceRequest.wValue &
	    DEVICE_ADDRESS_MASK), 1);
    Chap9sup_SingleTransmitEP0(0,0);
}


void Chap9_GetInterface(void)
{
	tempvars4UsbReq.chars.tx0 = 0;        /* Only/Current interface = 0 */
    Chap9sup_SingleTransmitEP0(&tempvars4UsbReq.chars.tx0,1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久久久久电影 | 青青青爽久久午夜综合久久午夜| 五月综合激情婷婷六月色窝| 蜜桃精品在线观看| 国产69精品久久777的优势| 91在线一区二区| 3d成人h动漫网站入口| 国产日韩欧美高清在线| 一区二区三区在线免费播放| 三级在线观看一区二区| 免费在线看一区| 午夜久久福利影院| 国产精品99久久久久久有的能看| 91麻豆国产福利在线观看| 欧美成人福利视频| 国产精品视频麻豆| 日韩av在线播放中文字幕| 99视频超级精品| www成人在线观看| 天天av天天翘天天综合网色鬼国产| 午夜精品久久久久久久蜜桃app| 国产精品一区二区在线看| 粉嫩aⅴ一区二区三区四区| 欧美理论片在线| 国产精品久久久久久久久久久免费看| 免费成人美女在线观看.| 色88888久久久久久影院按摩| 久久理论电影网| 日本三级亚洲精品| 成人av免费网站| 久久伊人蜜桃av一区二区| 亚洲成av人片| 欧洲亚洲精品在线| 国产片一区二区| 国产一区二区精品久久99| 欧美日韩一级片在线观看| 亚洲色大成网站www久久九九| 国产福利一区二区| 欧美成人三级在线| 蜜桃视频在线观看一区| 欧美一级欧美一级在线播放| 亚洲欧美日韩精品久久久久| 成人午夜av影视| 日本一区二区三区视频视频| 国产一区亚洲一区| xfplay精品久久| 三级精品在线观看| 欧美精品18+| 视频在线观看国产精品| 欧美日韩一区二区在线观看视频| 亚洲精品国产成人久久av盗摄| 9色porny自拍视频一区二区| 国产女人aaa级久久久级| 理论电影国产精品| 精品电影一区二区| 国产精品自在在线| 国产欧美一区二区精品秋霞影院| 国产黑丝在线一区二区三区| 久久精品人人做人人爽97| 国产盗摄精品一区二区三区在线| 国产欧美1区2区3区| 黄色日韩网站视频| 国产精品美女www爽爽爽| 成人动漫在线一区| 亚洲欧美韩国综合色| 欧美日韩一区二区不卡| 蜜桃av噜噜一区| 欧美激情中文字幕一区二区| 成人av综合在线| 亚洲一区二区三区精品在线| 色八戒一区二区三区| 免费久久精品视频| 国产欧美综合色| 欧美三区在线观看| 午夜精品一区二区三区三上悠亚| 91精品国产黑色紧身裤美女| 国产真实乱偷精品视频免| 亚洲视频香蕉人妖| 欧美一区二区三区在线观看| 国产资源精品在线观看| 亚洲精品视频观看| 日韩欧美久久久| 99久久精品国产一区| 婷婷久久综合九色综合绿巨人| 精品国产91久久久久久久妲己| 国内精品国产成人国产三级粉色| 成人免费在线观看入口| 69av一区二区三区| 色综合久久久久久久久久久| 久久99国产精品尤物| 丝袜亚洲另类欧美| 一区二区欧美国产| 亚洲欧美自拍偷拍| 欧美高清在线精品一区| 精品免费一区二区三区| 91麻豆精品国产91久久久使用方法| 99re视频精品| 成人免费高清在线| 国产成人激情av| 国产在线播放一区二区三区| 日本特黄久久久高潮| 亚洲成av人在线观看| 亚洲精品久久久久久国产精华液| 国产精品伦理在线| 国产日韩精品一区| 国产亚洲欧美在线| 久久精品亚洲国产奇米99| 精品美女在线观看| 精品国产一区二区三区av性色 | 亚洲国产精品v| 国产午夜精品一区二区| 精品88久久久久88久久久| 日韩欧美国产综合一区 | 欧美三级视频在线播放| 91日韩一区二区三区| 99久久精品免费看| 972aa.com艺术欧美| 色偷偷一区二区三区| 91香蕉视频在线| 91久久精品一区二区三区| 一本色道久久综合精品竹菊| 成人av影院在线| av在线播放不卡| 一本大道av一区二区在线播放| kk眼镜猥琐国模调教系列一区二区| 成人手机电影网| 成人av在线资源| 欧美中文字幕一区二区三区| 欧美丰满一区二区免费视频| 日韩欧美专区在线| 日本一区二区成人| 一区二区三区日韩| 三级成人在线视频| 国产精品羞羞答答xxdd| 99久久精品国产毛片| 欧美日韩在线播放| 久久毛片高清国产| 一区二区三区视频在线观看| 日本不卡123| 成人丝袜高跟foot| 欧美酷刑日本凌虐凌虐| www国产精品av| 亚洲激情在线激情| 久久精品国产久精国产爱| 国产福利91精品一区| 色欧美88888久久久久久影院| 欧美肥胖老妇做爰| 国产精品久久久久婷婷二区次| 亚洲精品视频自拍| 国产一区二区网址| 91精彩视频在线| 国产午夜精品久久久久久久| 亚洲欧美日韩一区二区三区在线观看| 免费在线视频一区| av亚洲精华国产精华精华| 91精品久久久久久久91蜜桃 | 一区二区三区蜜桃| 激情综合亚洲精品| 欧美午夜精品一区| 国产调教视频一区| 日韩av中文字幕一区二区| 成人av影院在线| 日韩视频不卡中文| 亚洲精品高清视频在线观看| 精品一二三四区| 欧美日韩精品免费| 日韩美女啊v在线免费观看| 美女视频黄a大片欧美| 91麻豆免费观看| 国产视频一区二区在线观看| 五月天激情综合| 色综合久久中文字幕综合网| 精品国产污网站| 日日摸夜夜添夜夜添亚洲女人| av在线这里只有精品| 欧美精品一区二区三区在线播放| 亚洲一级不卡视频| 91网上在线视频| 国产清纯白嫩初高生在线观看91 | 麻豆免费看一区二区三区| 91国偷自产一区二区三区成为亚洲经典 | 亚洲一区二区欧美| jizzjizzjizz欧美| 欧美国产精品久久| 国产精品一二三| 精品国产凹凸成av人网站| 亚洲成av人片观看| 欧美日韩在线播放一区| 亚洲一区二区美女| 色综合久久久久综合体| 亚洲三级理论片| 91丝袜美腿高跟国产极品老师 | 裸体歌舞表演一区二区| 欧美日韩精品欧美日韩精品一| 亚洲午夜久久久久久久久电影网| 99久久久久久| 亚洲精品欧美专区| 在线观看网站黄不卡| 一区二区高清视频在线观看| 91视频精品在这里|