chap_9.h

来自「關於USB鼠標」· C头文件 代码 · 共 59 行

H
59
字号
#ifndef __CHAP_9_H__
#define __CHAP_9_H__

#define MAX_ENDPOINTS      0x16

#define USB_DEVICE_DESCRIPTOR_TYPE                0x01
#define USB_CONFIGURATION_DESCRIPTOR_TYPE         0x02
#define USB_STRING_DESCRIPTOR_TYPE                0x03
#define USB_HID_DEV_TYPE                          0x21
#define USB_HID_REPORT_TYPE                       0x22

#define STR_INDEX_LANGUAGE						    0x00	
#define STR_INDEX_MANUFACTURER					    0x01	
#define STR_INDEX_PRODUCT						    0x02	
#define STR_INDEX_SERIALNUMBER					    0x03
#define STR_INDEX_CONFIGURATION					    0x04	
#define STR_INDEX_INTERFACE						    0x05

#define USB_RECIPIENT            (u8)0x1f
#define USB_RECIPIENT_DEVICE     (u8)0x00
#define USB_RECIPIENT_INTERFACE  (u8)0x01
#define USB_RECIPIENT_ENDPOINT   (u8)0x02

#define USB_REQUEST_TYPE_MASK    (u8)0x60
#define USB_STANDARD_REQUEST     (u8)0x00
#define USB_CLASS_REQUEST        (u8)0x20
#define USB_VENDOR_REQUEST       (u8)0x40

#define USB_REQUEST_MASK         (u8)0xff

#define DEVICE_ADDRESS_MASK      0x7f

/* GetStatus */
#define DEVSTS_SELFPOWERED       0x01
#define DEVSTS_REMOTEWAKEUP      0x02

#define ENDPSTS_HALT             0x01

void Chap9_GetStatus(void);
void Chap9_ClearFeature(void);
void Chap9_SetFeature(void);
void Chap9_SetAddress(void);
void Chap9_GetDescriptor(void);
void Chap9_GetConfiguration(void);
void Chap9_SetConfiguration(void);
void Chap9_GetInterface(void);
void Chap9_SetInterface(void);

void HID_GetReport(void);
void HID_SetReport(void);
void HID_GetIDLE(void);
void HID_SetIDLE(void);
void HID_GetProtocol(void);
void HID_SetProtocol(void);

void Chap9sup_SingleTransmitEP0(u8 * buf, u8 len);
void Chap9sup_BurstTransmitEP0(void);
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?