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

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

?? usb.h

?? STC89C52單片機平臺上實現用外線通訊并能與PC實現USB的通訊
?? H
字號:
/******************************************************************
   本程序只供學習使用,未經作者許可,不得用于其它任何用途
      我的郵箱:computer-lov@tom.com
        歡迎訪問我的blog:  http://computer00.21ic.org

USB.H  file

作者:Computer-lov
建立日期: 2007.03.20
修改日期: 2007.03.22
版本:V1.1
版權所有,盜版必究。
Copyright(C) Computer-lov 2007-2017
All rights reserved            
*******************************************************************/

#ifndef __USB_H__
#define __USB_H__

#include "my_type.h"


// 定義標準的描述符類型,也就是USB分配的各種描述符的編號,即bDescriptorType 字段的值

#define DEVICE_DESCRIPTOR               0x01  //設備描述符
#define CONFIGURATION_DESCRIPTOR        0x02  //配置描述符
#define STRING_DESCRIPTOR               0x03  //字符串描述符
#define INTERFACE_DESCRIPTOR            0x04  //接口描述符
#define ENDPOINT_DESCRIPTOR             0x05  //端點描述符
#define HID_DESCRIPTOR                  0x21  //HID描述符
#define REPORT_DESCRIPTOR               0x22  //報告描述符
#define PHYSICAL_DESCRIPTOR             0x23  //物理描述符

//定義標準的USB請求命令,即USB分配的各種請求的編號,即bRequest字段的值

#define GET_STATUS                      0x00  //獲取狀態請求
#define CLEAR_FEATURE                   0x01  //清除特性請求
#define SET_FEATURE                     0x03  //設置特性請求
#define SET_ADDRESS                     0x05  //設置地址請求
#define GET_DESCRIPTOR                  0x06  //獲取描述符請求
#define SET_DESCRIPTOR                  0x07  //設置描述符請求
#define GET_CONFIGURATION               0x08  //獲取配置請求
#define SET_CONFIGURATION               0x09  //設置配置請求
#define GET_INTERFACE                   0x0A  //獲取接口請求
#define SET_INTERFACE                   0x0B  //設置接口請求
#define SYNCH_FRAME                     0x0C  //同步幀請求

//定義USB HID特定命令請求
#define GET_REPORT                      0x01  //獲取報告
#define GET_IDLE                        0x02  //獲取空閑狀態
#define GET_PROTOCOL                    0x03  //獲取協議
#define SET_REPORT                      0x09  //設置報告
#define SET_IDLE                        0x0A  //設置空閑
#define SET_PROTOCOL                    0x0B  //設置協議

//定義特性選擇器

#define ENDPOINT_HALT                   0x00  //端點的禁止特性
#define DEVICE_REMOTE_WAKEUP            0x01  //設備的遠程喚醒特性


//使用的端點數

//#define Number_Endpoint               0x05  //端點數量為5


//定義的端點類型
#define ENDPOINT_TYPE_CONTROL           0x00  //控制傳輸
#define ENDPOINT_TYPE_ISOCHRONOUS       0x01  //同步傳輸
#define ENDPOINT_TYPE_BULK              0x02  //批量傳輸
#define ENDPOINT_TYPE_INTERRUPT         0x03  //中斷傳輸



//定義標準的設備描述符結構

typedef struct _DEVICE_DCESCRIPTOR_STRUCT
{
 uint8 blength;                               //設備描述符的字節數大小
 uint8 bDescriptorType;	                      //設備描述符類型編號
 uint16 bcdUSB;                                //USB版本號
 uint8 bDeviceClass;                          //USB分配的設備類代碼
 uint8 bDeviceSubClass;                       //USB分配的子類代碼
 uint8 bDeviceProtocol;                       //USB分配的設備協議代碼
 uint8 bMaxPacketSize0;                       //端點0的最大包大小
 uint16 idVendor;                              //廠商編號
 uint16 idProduct;                             //產品編號
 uint16 bcdDevice;                             //設備出廠編號
 uint8 iManufacturer;                         //設備廠商字符串的索引
 uint8 iProduct;                              //描述產品字符串的索引
 uint8 iSerialNumber;                         //描述設備序列號字符串的索引
 uint8 bNumConfigurations;                    //可能的配置數量
}
DEVICE_DESCRIPTOR_STRUCT, * pDEVICE_DESCRIPTOR_STRUCT;


//定義標準的配置描述符結構

typedef struct _CONFIGURATION_DESCRIPTOR_STRUCT
{
 uint8 bLength;                               //配置描述符的字節數大小
 uint8 bDescriptorType;                       //配置描述符類型編號
 uint16 wTotalLength;                          //此配置返回的所有數據大小
 uint8 bNumInterfaces;                        //此配置所支持的接口數量
 uint8 bConfigurationValue;                   //Set_Configuration命令所需要的參數值
 uint8 iConfiguration;                        //描述該配置的字符串的索引值
 uint8 bmAttributes;                          //供電模式的選擇
 uint8 MaxPower;                              //設備從總線提取的最大電流
}
CONFIGURATION_DESCRIPTOR_STRUCT, * pCONFIGURATION_DESCRIPTOR_STRUCT;


//定義標準的接口描述符結構

typedef struct _INTERFACE_DESCRIPTOR_STRUCT
{
 uint8 bLength;                               //接口描述符的字節數大小
 uint8 bDescriptorType;                       //接口描述符的類型編號
 uint8 bInterfaceNumber;                      //該接口的編號
 uint8 bAlternateSetting;                     //備用的接口描述符編號
 uint8 bNumEndpoints;                         //該接口使用的端點數,不包括端點0
 uint8 bInterfaceClass;                       //接口類型
 uint8 bInterfaceSubClass;                    //接口子類型
 uint8 bInterfaceProtocol;                    //接口遵循的協議
 uint8 iInterface;                            //描述該接口的字符串索引值
}
INTERFACE_DESCRIPTOR_STRUCT, * pINTERFACE_DESCRIPTOR_STRUCT;


//定義標準的端點描述符結構

typedef struct _ENDPOINT_DESCRIPTOR_STRUCT
{
 uint8 bLength;                                //端點描述符字節數大小
 uint8 bDescriptorType;                       //端點描述符類型編號
 uint8 bEndpointAddress;                      //端點地址及輸入輸出屬性
 uint8 bmAttributes;                          //端點的傳輸類型屬性
 uint16 wMaxPacketSize;                        //端點收、發的最大包大小
 uint8 bInterval;                             //主機查詢端點的時間間隔
}
ENDPOINT_DESCRIPTOR_STRUCT, * pENDPOINT_DESCRIPTOR_STRUCT;


//HID描述符中的下級描述符號
typedef struct _HID_SUB_DESCRIPTOR_STRUCT
{
 uint8 bDescriptorType;    //下級描述符的類型編號
 uint16 wDescriptorLength;  //下級描述符的長度
}
HID_SUB_DESCRIPTOR_STRUCT,*pHID_SUB_DESCRIPTOR_STRUCT;

#define NUM_SUB_DESCRIPTORS 1

//定義HID描述符結構

typedef struct _HID_DESCRIPTOR_STRUCT
{
 uint8 bLength;
 uint8 bDescriptorType;
 uint16 bcdHID;
 uint8 bCountryCode;
 uint8 bNumDescriptors;
 HID_SUB_DESCRIPTOR_STRUCT HidSubDescriptors[NUM_SUB_DESCRIPTORS]; 
}
HID_DESCRIPTOR_STRUCT,*pHID_DESCRIPTOR_STRUCT;


//一個字符串描述符結構

typedef struct _STRING_DESCRIPTOR_STRUCT
{
 uint8 bLength;                                //字符串描述符的字節數大小
 uint8 bDescriptorType;                        //字符串描述符類型編號
 uint8 SomeDesriptor[36];                      //UNICODE編碼的字符串
}
STRING_DESCRIPTOR_STRUCT, * pSTRING_DESCRIPTOR_STRUCT;


//標準設備請求命令結構

typedef struct _REQUESTCMD
{
 uint8 bmRequestType;                         //請求命令類型
 uint8 bRequest;                              //請求命令代碼
 uint16 wValue;                                //命令信息
 uint16 wIndex;                                //索引信息
 uint16 wLength;                               //傳輸數據大小
}
REQUESTCMD, * pREQUESTCMD;
   

//setup_packet緩沖區

#define MAX_CONTROL_DATA_SIZE 16

typedef struct _control_data_buff
{
 REQUESTCMD DeviceRequest;                    //USB設備請求
 uint16 wLength;
 uint16 wCount;
 uint8 * pData;
 uint8 dataBuffer[MAX_CONTROL_DATA_SIZE];
}CONTROL_DATA_BUFF;
 

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区高清精品免费观看| 欧美不卡一区二区三区四区| 欧美精品xxxxbbbb| 国产欧美日韩三级| 首页国产欧美久久| 色综合久久中文综合久久牛| 337p日本欧洲亚洲大胆色噜噜| 一区2区3区在线看| 成人深夜福利app| 日韩美女视频一区二区在线观看| 亚洲精品国产a| 成人福利视频在线| 国产视频在线观看一区二区三区| 日本视频一区二区| 欧美在线观看视频一区二区| 国产精品每日更新| 成人精品鲁一区一区二区| 精品99999| 秋霞影院一区二区| 91麻豆精品国产91久久久久久| 亚洲另类春色校园小说| a亚洲天堂av| 国产精品久久久久影院| 国产不卡视频在线播放| 欧美精品一区二区三区蜜桃视频| 日韩中文字幕麻豆| 欧美丰满高潮xxxx喷水动漫 | 不卡一区中文字幕| 久久婷婷国产综合精品青草| 久久激情综合网| 欧美亚洲动漫精品| 亚洲精品视频自拍| 欧美午夜在线观看| 亚洲无人区一区| 欧美日韩大陆一区二区| 午夜视频在线观看一区| 91精品国产综合久久精品性色| 天堂成人免费av电影一区| 91麻豆精品国产91久久久久| 免费黄网站欧美| 欧美久久久影院| 蜜臀av在线播放一区二区三区 | 日本成人中文字幕在线视频| 欧美丰满一区二区免费视频| 美女高潮久久久| 精品国产成人系列| 国产成人aaa| 综合欧美一区二区三区| 欧美日韩国产三级| 久久国产福利国产秒拍| 欧美激情综合网| 91同城在线观看| 亚洲五月六月丁香激情| 日韩一级片网站| 成人污污视频在线观看| 一区二区三区四区高清精品免费观看| 在线观看区一区二| 美女国产一区二区| 亚洲婷婷在线视频| 9191久久久久久久久久久| 国产一区二区在线观看免费| 中文字幕亚洲在| 91麻豆精品国产自产在线观看一区 | 久久国产三级精品| 国产精品伦理一区二区| 欧美日韩国产免费| 国产精品123| 亚洲高清免费视频| 久久人人超碰精品| 欧美专区日韩专区| 国产一区二区女| 亚洲一区二区三区在线看| 精品国产一区二区三区不卡| 99精品国产99久久久久久白柏| 日韩中文字幕av电影| 国产精品动漫网站| 日韩欧美视频在线| 色偷偷成人一区二区三区91| 国产在线一区二区| 亚洲一区二区三区激情| 久久久电影一区二区三区| 欧美日韩精品一区视频| 国产精品自拍三区| 日本三级韩国三级欧美三级| 国产精品入口麻豆九色| 日韩亚洲电影在线| 欧美在线观看一区二区| 成人app在线观看| 激情综合五月婷婷| 亚洲h动漫在线| 亚洲精品国产a| 国产精品福利影院| 久久精品一区二区三区不卡| 91麻豆精品国产91久久久更新时间| 成人亚洲一区二区一| 久久www免费人成看片高清| 亚洲国产中文字幕在线视频综合| 国产精品乱码一区二区三区软件| 日韩三区在线观看| 欧美夫妻性生活| 欧美日韩一卡二卡| 在线观看一区二区精品视频| 北条麻妃国产九九精品视频| 久草这里只有精品视频| 亚洲一区二三区| 一区二区三区国产精品| 亚洲日本一区二区| 1000精品久久久久久久久| 国产精品久久久久毛片软件| 久久久国产精华| 亚洲国产精品精华液2区45| 欧美sm美女调教| 欧美v日韩v国产v| 日韩欧美色综合网站| 精品嫩草影院久久| 精品第一国产综合精品aⅴ| 欧美成人官网二区| 日韩午夜av一区| 精品福利一区二区三区免费视频| 欧美一区二区黄| 欧美mv和日韩mv国产网站| 日韩精品一区二区三区中文不卡| 精品国产1区二区| 国产午夜亚洲精品午夜鲁丝片| 久久久久亚洲蜜桃| 国产丝袜欧美中文另类| 日韩美女视频一区二区| 一区二区三区日韩精品视频| 亚洲第一久久影院| 免费成人性网站| 国产精品888| 99国产一区二区三精品乱码| 久久人人爽人人爽| 日韩综合小视频| 国产成人超碰人人澡人人澡| 亚洲va在线va天堂| 亚洲一区二区三区中文字幕在线| 中文字幕国产一区二区| 亚洲美女电影在线| 亚洲电影在线播放| 久久精品99国产国产精| 国产999精品久久久久久绿帽| 色一区在线观看| 制服视频三区第一页精品| 26uuu精品一区二区| 国产精品久久久久久久久免费樱桃 | 丁香五精品蜜臀久久久久99网站 | 日韩av中文字幕一区二区三区| 国产一区二区三区四| 91免费国产在线| 欧美日韩国产一区二区三区地区| 日韩欧美你懂的| 国产精品乱子久久久久| 视频一区欧美精品| av网站免费线看精品| 91精品国产一区二区人妖| 中文字幕日韩精品一区| 日本美女一区二区| 日本韩国精品在线| 欧美精品一区二区久久久| 一区二区三区日韩精品视频| 激情综合五月婷婷| 欧美三片在线视频观看| 中文字幕中文字幕中文字幕亚洲无线| 午夜一区二区三区视频| 不卡大黄网站免费看| 精品精品国产高清a毛片牛牛 | 欧美三级在线看| 国产日韩欧美精品电影三级在线 | 成人动漫中文字幕| 日韩欧美国产综合一区| 一区二区三区在线看| 国产精品1024| 欧美一级免费大片| 一二三四区精品视频| 国产成人鲁色资源国产91色综 | 日韩精品一区二区三区在线| 亚洲伦理在线精品| 国产一区二区在线观看免费| 欧美丰满嫩嫩电影| 亚洲免费观看在线视频| 久久国产乱子精品免费女| 欧美性受xxxx| 中文av一区特黄| 麻豆精品新av中文字幕| 国产精品综合一区二区三区| 99久久综合精品| 欧美一区二区三区四区久久 | 精品中文字幕一区二区| 欧美日韩aaaaaa| 亚洲www啪成人一区二区麻豆| www.成人在线| 亚洲三级在线观看| 成人一区二区在线观看| 久久中文娱乐网| 国产·精品毛片| 26uuu国产电影一区二区| 寂寞少妇一区二区三区| 精品精品国产高清一毛片一天堂| 日韩精品一二区|