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

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

?? usb.h

?? PDIUSBD12 HID固件源代碼
?? H
字號:
/******************************************************************************
**
**  Filename:     Usb.h
**
**  System:       RISC
**
**  Platform:     dsPIC33F                 
**  
**  Description:  
******************************************************************************/

#ifndef __USB_H__
#define __USB_H__

void usb_bus_reset(void);
void usb_bus_suspend(void);
void endp0_out(void);
void endp0_in(void);
void endp2_out(void);
void endp2_in(void);


#define BYTE unsigned char
#define WORD unsigned int

typedef struct {
  unsigned BIT0:1;
  unsigned BIT1:1;
  unsigned BIT2:1;
  unsigned BIT3:1;
  unsigned BIT4:1;
  unsigned BIT5:1;
  unsigned BIT6:1;
  unsigned BIT7:1;
  unsigned BIT8:1;
  unsigned BIT9:1;
  unsigned BIT10:1;
  unsigned BIT11:1;
  unsigned BIT12:1;
  unsigned BIT13:1;
  unsigned BIT14:1;
  unsigned BIT15:1;
} USB_FLAGS_REGISTER;
USB_FLAGS_REGISTER usb_flags_Register;

#define USB__bus_reset        usb_flags_Register.BIT0
#define USB_suspend           usb_flags_Register.BIT1
#define USB_remote_wakeup     usb_flags_Register.BIT2
#define USB_int_isr           usb_flags_Register.BIT3
#define USB_not_end           usb_flags_Register.BIT4
#define USB_usb_idle          usb_flags_Register.BIT5
#define USB_usb_busy          usb_flags_Register.BIT6
#define USB_setup_packet_in   usb_flags_Register.BIT7
#define USB_setup_packet_out  usb_flags_Register.BIT8
#define USB_set_addr          usb_flags_Register.BIT9
#define USB_usb_endp0_in      usb_flags_Register.BIT10
#define USB_usb_endp2_in      usb_flags_Register.BIT11
#define USB_usb_endp2_out     usb_flags_Register.BIT12

union
{
  struct
  {
    unsigned BIT0:1;
    unsigned BIT1:1;
    unsigned BIT2:1;
    unsigned BIT3:1;
    unsigned BIT4:1;
    unsigned BIT5:1;
    unsigned BIT6:1;
    unsigned BIT7:1;
    unsigned BIT8:1;
    unsigned BIT9:1;
    unsigned BIT10:1;
    unsigned BIT11:1;
    unsigned BIT12:1;
    unsigned BIT13:1;
    unsigned BIT14:1;
    unsigned BIT15:1;
  }Interrupt_RegisterBits;
  
  unsigned int Interrupt_Register;
}Flag;


#define Interrupt_control_out_port        Flag.Interrupt_RegisterBits.BIT0
#define Interrupt_control_in_port         Flag.Interrupt_RegisterBits.BIT1
#define Interrupt_port_out_1              Flag.Interrupt_RegisterBits.BIT2
#define Interrupt_port_in_1               Flag.Interrupt_RegisterBits.BIT3
#define Interrupt_main_out_port           Flag.Interrupt_RegisterBits.BIT4
#define Interrupt_main_in_port            Flag.Interrupt_RegisterBits.BIT5
#define Interrupt_bus_reset               Flag.Interrupt_RegisterBits.BIT6
#define Interrupt_suspend_change          Flag.Interrupt_RegisterBits.BIT7
#define Interrupt_DMA_EOT                 Flag.Interrupt_RegisterBits.BIT8

union
{
  struct
  {
  unsigned BIT0:1;
  unsigned BIT1:1;
  unsigned BIT2:1;
  unsigned BIT3:1;
  unsigned BIT4:1;
  unsigned BIT5:1;
  unsigned BIT6:1;
  unsigned BIT7:1;
  }Last_Status_RegisterBits;
  
  unsigned char Last_Status_Register;
}Flag1;

#define Last_Status_successful            Flag1.Last_Status_RegisterBits.BIT0
#define Last_Status_error_code0           Flag1.Last_Status_RegisterBits.BIT1
#define Last_Status_error_code1           Flag1.Last_Status_RegisterBits.BIT2
#define Last_Status_error_code2           Flag1.Last_Status_RegisterBits.BIT3
#define Last_Status_error_code3           Flag1.Last_Status_RegisterBits.BIT4
#define Last_Status_setup_packet          Flag1.Last_Status_RegisterBits.BIT5
#define Last_Status_data_1                Flag1.Last_Status_RegisterBits.BIT6
#define Last_Status_prestatus_not_read    Flag1.Last_Status_RegisterBits.BIT7

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

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


//定義標準的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  //同步幀請求


//定義特性選擇器

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


typedef struct _CON_INT_ENDP_DESCRIPTOR_STRUCT
{
//定義標準的配置描述符結構
 BYTE bConfigLength;                         //配置描述符的字節數大小
 BYTE bConfigDescriptorType;                 //配置描述符類型編號
 WORD wTotalLength;                          //此配置返回的所有數據大小
 BYTE bNumInterfaces;                        //此配置所支持的接口數量
 BYTE bConfigurationValue;                   //Set_Configuration命令所需要的參數值
 BYTE iConfiguration;                        //描述該配置的字符串的索引值
 BYTE bmConfigAttributes;                    //供電模式的選擇
 BYTE MaxPower;                              //設備從總線提取的最大電流

//定義標準的接口描述符結構
 BYTE bInterfaceLength;                      //接口描述符的字節數大小
 BYTE bInterfaceDescriptorType;              //接口描述符的類型編號
 BYTE bInterfaceNumber;                      //該接口的編號
 BYTE bAlternateSetting;                     //備用的接口描述符編號
 BYTE bNumEndpoints;                         //該接口使用的端點數,不包括端點0
 BYTE bInterfaceClass;                       //接口類型
 BYTE bInterfaceSubClass;                    //接口子類型
 BYTE bInterfaceProtocol;                    //接口遵循的協議
 BYTE iInterface;                            //描述該接口的字符串索引值

//定義標準的類描述符結構
 BYTE bClassLength;                          //類描述符的字節數大小
 BYTE bClassDescriptorType;                  //類描述符類型編號
 BYTE bBcdHIDL;                              //HID類發布號
 BYTE bBcdHIDH;                              //
 BYTE bCountryCode;                          //本地國家代碼
 BYTE bNumDescriptors;                       //HID描述符要遵循的號(1)
 BYTE bDescriptorType;                       //報告描述符類型(HID)
 BYTE bDescriptorLengthL;                    //總報告描述符總長度
 BYTE bDescriptorLengthH;                    //

//定義標準的端點描述符結構
 BYTE b1Legth;                                //端點描述符字節數大小
 BYTE b1DescriptorType;                       //端點描述符類型編號
 BYTE b1EndpointAddress;                      //端點地址及輸入輸出屬性
 BYTE b1mAttributes;                          //端點的傳輸類型屬性
 BYTE b1MaxPacketSizeL;                       //端點收、發的最大包大小
 BYTE b1MaxPacketSizeH;                       //
 BYTE b1Interval;                             //主機查詢端點的時間間隔

//定義標準的端點描述符結構
 BYTE b2Legth;                                //端點描述符字節數大小
 BYTE b2DescriptorType;                       //端點描述符類型編號
 BYTE b2EndpointAddress;                      //端點地址及輸入輸出屬性
 BYTE b2mAttributes;                          //端點的傳輸類型屬性
 BYTE b2MaxPacketSizeL;                       //端點收、發的最大包大小
 BYTE b2MaxPacketSizeH;                       //
 BYTE b2Interval;                             //主機查詢端點的時間間隔
}
CON_INT_ENDP_DESCRIPTOR_STRUCT;

typedef struct _REPORT_DESCRIPTOR_STRUCT
{
 BYTE bReportParameter[34];                         //
}
REPORT_DESCRIPTOR_STRUCT;

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

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


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

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

//setup_packet緩沖區

#define MAX_CONTROL_DATA_SIZE 16

typedef struct _control_data_buff
{
 REQUESTCMD DeviceRequest;                    //USB設備請求
 unsigned int wLength;
 unsigned int wCount;
 unsigned char *pData;
 unsigned char dataBuffer[MAX_CONTROL_DATA_SIZE];
}CONTROL_DATA_BUFF;
 
#endif
/*-----------------------------------------------------------------------------
                                End of Usb.h
-----------------------------------------------------------------------------*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区免费看| 国产一二三精品| 国产激情偷乱视频一区二区三区| 2024国产精品| 国产成人福利片| 国产成人在线看| 国产美女精品人人做人人爽| 国产一区二区美女| 国产99久久久久久免费看农村| 国产精品护士白丝一区av| 色综合中文字幕国产 | 国产精品嫩草久久久久| 欧美丝袜第三区| 国产自产高清不卡| 亚洲一卡二卡三卡四卡五卡| 欧美va亚洲va国产综合| 99久久久久免费精品国产| 午夜精品福利一区二区三区av| 精品国产露脸精彩对白| 欧美日韩视频在线观看一区二区三区 | 日韩午夜电影在线观看| 精品美女被调教视频大全网站| 精品成人a区在线观看| 国产精品午夜电影| 一区二区三区蜜桃| 国产欧美日韩精品一区| 欧美丰满少妇xxxxx高潮对白| 国产乱码精品1区2区3区| 日韩国产欧美在线观看| 国产精品三级av| 性感美女极品91精品| 一区二区三区蜜桃网| 国产自产v一区二区三区c| 一本在线高清不卡dvd| 成人小视频免费观看| 国产一区欧美日韩| 91免费国产在线| 成人国产精品免费观看动漫| 国模大尺度一区二区三区| 91在线视频播放地址| 欧美sm美女调教| 一区二区国产视频| 国产一区亚洲一区| 欧美日韩国产天堂| 欧美日韩国产在线观看| 久久综合色综合88| 午夜精品久久久久影视| 国产一区二区三区四区五区入口| 91视频在线观看| 久久精品综合网| 国产亚洲欧美日韩在线一区| 亚洲午夜电影网| 一区二区三区中文在线观看| 久久国产综合精品| 国产在线精品一区二区夜色| 在线一区二区三区四区| 欧美精品tushy高清| 成人免费在线播放视频| 亚洲精品ww久久久久久p站| 怡红院av一区二区三区| 国产 欧美在线| 久久先锋资源网| 国产一区在线观看视频| 日韩免费一区二区| 国产精品国产a级| 国产成人午夜精品影院观看视频 | 日韩影院免费视频| 欧美国产国产综合| 亚洲欧洲在线观看av| 美女久久久精品| 精品一区二区三区视频在线观看| 久久爱另类一区二区小说| 欧美色视频一区| 亚洲黄色免费电影| 色香蕉成人二区免费| 中文字幕高清一区| 国产乱国产乱300精品| 久久精品视频一区二区| 极品少妇一区二区三区精品视频| 欧美一区二区在线视频| 欧美精品一区二区三区久久久| 天天色综合天天| 欧美一卡在线观看| 秋霞av亚洲一区二区三| 99国产精品国产精品久久| 国产精品久久久爽爽爽麻豆色哟哟| 国产一区二区精品久久99| 久久天堂av综合合色蜜桃网| 久久99国产精品免费| 国产亚洲欧洲997久久综合 | 欧美三级午夜理伦三级中视频| 亚洲午夜久久久| 日韩免费观看高清完整版在线观看| 免费观看在线综合| 久久伊人蜜桃av一区二区| 成人免费毛片嘿嘿连载视频| 中文字幕一区二区三区不卡| 在线一区二区视频| 免费国产亚洲视频| 国产喷白浆一区二区三区| 99久久伊人精品| 91精品麻豆日日躁夜夜躁| 国产精品二区一区二区aⅴ污介绍| 波多野洁衣一区| 天天色综合天天| 久久精品视频在线看| 91麻豆国产在线观看| 麻豆一区二区三| 日韩一区日韩二区| 7777精品伊人久久久大香线蕉最新版| 精品一区中文字幕| 一区二区三区在线免费视频| 日韩欧美一级二级三级| 91视频免费播放| 裸体一区二区三区| 亚洲欧美色综合| 不卡视频免费播放| 亚洲成国产人片在线观看| 欧美激情一区二区三区四区| 欧美视频你懂的| 91视频xxxx| 国产精选一区二区三区| 五月天欧美精品| 亚洲视频香蕉人妖| 99国产精品久久久久久久久久久| 日韩中文字幕一区二区三区| 国产精品久久毛片a| 日韩欧美亚洲一区二区| 在线观看免费一区| 午夜视频在线观看一区二区三区| 国产婷婷色一区二区三区| 欧美日韩www| 色婷婷精品久久二区二区蜜臀av| 黄色资源网久久资源365| 香蕉成人啪国产精品视频综合网| 国产精品国产三级国产a| 久久精品人人做人人爽人人| 日韩欧美在线影院| 欧美日韩国产系列| 欧美亚洲国产怡红院影院| 成人免费黄色在线| 丰满岳乱妇一区二区三区| 久久国产精品无码网站| 美女视频一区二区| 麻豆精品蜜桃视频网站| 日韩在线a电影| 免费一级片91| 美腿丝袜亚洲色图| 日韩va亚洲va欧美va久久| 亚洲国产一区二区三区| 亚洲一级二级在线| 亚洲第一搞黄网站| 日韩精品一级二级| 人妖欧美一区二区| 久久不见久久见免费视频7| 狠狠色丁香婷婷综合久久片| 国产麻豆9l精品三级站| 国产超碰在线一区| www.欧美色图| 色香蕉久久蜜桃| 欧美卡1卡2卡| 精品99久久久久久| 欧美韩国一区二区| 中文字幕亚洲在| 亚洲国产成人porn| 久久er99精品| 高清在线不卡av| 欧美在线你懂得| 91精品国产免费| 久久亚洲春色中文字幕久久久| 国产日韩欧美高清在线| 亚洲人一二三区| 日韩av不卡一区二区| 精品亚洲成a人| 成人av在线资源| 欧美日本国产一区| 久久午夜国产精品| 亚洲图片欧美激情| 日本中文字幕一区二区有限公司| 久久91精品久久久久久秒播| 成人免费av网站| 91精品在线观看入口| 国产色产综合产在线视频| 一区二区三区四区蜜桃| 国内久久精品视频| 欧美亚洲综合色| 久久久久久久久久电影| 欧美精品一区二区三区四区| 国产精品免费av| 天天射综合影视| 99精品1区2区| 精品国产免费人成电影在线观看四季 | 欧美日韩成人在线一区| www国产精品av| 亚洲综合激情另类小说区| 麻豆freexxxx性91精品| 91社区在线播放| 久久精品在线观看| 日韩电影在线观看一区| 99精品黄色片免费大全|