📄 standard.h
字号:
#ifndef _STANDARD_H
#define _STANDARD_H
//! \brief Useful constants wDeviceStatus
//! \see S_std_class
//! \see usb_20.pdf - Section 9.4.5 - Figure 9-4
//! @{
//! \name wDeviceStatus
//! Information Returned by a GetStatus() Request to a Device.
//! @{
//! \brief
#define SELF_POWERED (1<<0)
//! \brief
#define REMOTE_WAKEUP (1<<1)
//! @}
//! @}
//------------------------------------------------------------------------------
// Structures
//------------------------------------------------------------------------------
//! \ingroup usb_std_req_hlr
//! \brief List of standard descriptors used by the device
typedef struct {
//! Device descriptor
const S_usb_device_descriptor *pDevice;
//! Configuration descriptor
const S_usb_configuration_descriptor *pConfiguration;
//! List of string descriptors
const char **pStrings;
//! List of endpoint descriptors
const S_usb_endpoint_descriptor **pEndpoints;
#if defined(HIGHSPEED)
//! Qualifier descriptor (high-speed only)
const S_usb_device_qualifier_descriptor *pQualifier;
//! Other speed configuration descriptor (high-speed only)
const S_usb_configuration_descriptor *pOtherSpeedConfiguration;
#endif
} S_std_descriptors;
//! \ingroup usb_std_req_hlr
//! \brief Standard USB class driver structure.
//!
//! Used to provide standard driver information so external modules can
//! still access an internal driver.
typedef struct {
//! Pointer to a S_usb instance
const S_usb *pUsb;
//! Pointer to the list of descriptors used by the device
const S_std_descriptors *pDescriptors;
//! Data buffer used for information returned by a GetStatus() request to
//! a Device (Figure 9-4. in usb_20.pdf)
unsigned short wDeviceStatus;
//! Data buffer
unsigned short wData;
} S_std_class;
//------------------------------------------------------------------------------
// Exported symbols
//------------------------------------------------------------------------------
extern void STD_RequestHandler(S_std_class *pClass);
#endif // _STANDARD_H
extern void MY_REQUEST_HANDLE(S_std_class *pClass);
#define PACKET_LENGTH 4096
extern int WriteUSB(char* buf,int length);
extern int ReadUSB(char* buf,int length);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -