⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbd.h

📁 smartARM2400 USB host例程
💻 H
📖 第 1 页 / 共 2 页
字号:
** Returned value:      传输错误码  成功 : USB_ERR_SUCESS, 其余为错误
*********************************************************************************************************/
USB_BOOL usbSetFeature (USB_INT8U ucType, USB_INT16U wValue, USB_INT16U wIndex);

/*********************************************************************************************************
  OTG 增加的特性
*********************************************************************************************************/
#define usbSetFeature_b_hnp_enable()      usbSetFeature(0, __OTG_B_HNP_ENABLE, 0)
#define usbSetFeature_a_hnp_support()     usbSetFeature(0, __OTG_A_HNP_SUPPORT, 0)
#define usbSetFeature_a_alt_hnp_support() usbSetFeature(0, __OTG_A_ALT_HNP_SUPPORT, 0)

/*********************************************************************************************************
** Function name:       usbSetAddress
** Descriptions:        设置地址
** input parameters:    wValue 地址值
** output parameters:   None
** Returned value:      传输错误码  成功 : USB_ERR_SUCESS, 其余为错误
*********************************************************************************************************/
USB_INT8U usbSetAddress (USB_INT16U wValue);

/*********************************************************************************************************
** Function name:       usbGetDescription
** Descriptions:        获取描述符
** input parameters:    wValue  类型和索引
**                      wIndex  0 或语言 ID
**                      wLength 描述符长度
** output parameters:   pucData 接收描述符的缓冲区
** Returned value:      传输错误码  成功 : USB_ERR_SUCESS, 其余为错误
*********************************************************************************************************/
USB_INT8U usbGetDescription (USB_INT16U wValue, USB_INT16U wIndex, USB_INT16U wLength, USB_INT8U *pucData);

#define usbGetDeviceDescription(wLength, pucData)  \
            usbGetDescription((USB_INT16U)(0x01 << 8), 0, wLength, pucData)
        
#define usbGetConfigDescription(wValue, wIndex, wLength, pucData)  \
            usbGetDescription((USB_INT16U)(0x02 << 8) | wValue, wIndex, wLength, pucData)

#define usbGetStringDescription(wValue, wIndex, wLength, pucData)  \
            usbGetDescription((USB_INT16U)((USB_INT16U)(0x03 << 8) | wValue), wIndex, wLength, pucData)

/*********************************************************************************************************
** Function name:       usbSetDescription
** Descriptions:        设置描述符
** input parameters:    wValue  类型和索引
**                      wIndex  0 或语言ID
**                      wLength 描述符长度
** output parameters:   pucData 接收描述符的缓冲区
** Returned value:      传输错误码  成功 : USB_ERR_SUCESS, 其余为错误
*********************************************************************************************************/
USB_INT8U usbSetDescription (USB_INT16U wValue, USB_INT16U wIndex, USB_INT16U wLength, USB_INT8U *pucData);

/*********************************************************************************************************
** Function name:       usbGetConfiguratiton
** Descriptions:        读取配置值请求
** input parameters:    None
** output parameters:   pucData 配置值
** Returned value:      传输错误码  成功 : USB_ERR_SUCESS, 其余为错误
*********************************************************************************************************/
USB_INT8U usbGetConfiguratiton (USB_INT8U *pucData);

/*********************************************************************************************************
** Function name:       usbSetConfiguratiton
** Descriptions:        设置配置值请求
** input parameters:    None
** output parameters:   None
** Returned value:      传输错误码  成功 : USB_ERR_SUCESS, 其余为错误
*********************************************************************************************************/
USB_INT8U usbSetConfiguratiton (void);

/*********************************************************************************************************
** Function name:       usbGetInterface
** Descriptions:        读取指定接口的设置值,即接口描述符中的bAlternateSetting字段值
** input parameters:    wIndex  接口号
** output parameters:   pucData 返回的bAlternateSetting字段值
** Returned value:      传输错误码  成功 : USB_ERR_SUCESS, 其余为错误
*********************************************************************************************************/
USB_INT8U usbGetInterface (USB_INT16U wIndex, USB_INT8U *pucData);

/*********************************************************************************************************
** Function name:       usbSetInterface
** Descriptions:        设置接口请求,与usbGetInterface相对应
** input parameters:    wValue  可替换的设置值
**                      wIndex  接口号
** output parameters:   None
** Returned value:      传输错误码  成功 : USB_ERR_SUCESS, 其余为错误
*********************************************************************************************************/
USB_INT8U usbSetInterface (USB_INT16U wValue, USB_INT16U wIndex);

/*********************************************************************************************************
** Function name:       usbSunchFrame
** Descriptions:        同步帧请求,用于设置并报告端点的同步帧号
** input parameters:    wIndex  端点号
** output parameters:   pucData 返回的帧号
** Returned value:      TRUE : 成功  FALSE : 失败
*********************************************************************************************************/
USB_INT8U usbSunchFrame (USB_INT16U wIndex, USB_INT8U *pucData);

/*********************************************************************************************************
** Function name:       usbInterfaceEpConfig
** Descriptions:        根据获取到的配置描述符数据找出接口描述符及其端点描述符,
**                      并将其填充到相应的描述符结构体中
** input parameters:    pucBuf          获取到的配置描述符数据缓冲区
**                      usConfigDescLen 配置描述符总长度
** output parameters:   None
** Returned value:      TRUE : 成功  FALSE : 失败
*********************************************************************************************************/
USB_BOOL usbInterfaceEpConfig (USB_INT8U *pucBuf, USB_INT16U usConfigDescLen);

/*********************************************************************************************************
** Function name:       usbGetEpMaxPktSize
** Descriptions:        获取端点的最大包大小
** input parameters:    ucInterfaceIndex 接口索引
**                      ucEpNum          端点号
** output parameters:   None
** Returned value:      > 0 : 所要端点的最大包大小,  0 : 失败,表示端点ucEpNum不存在
*********************************************************************************************************/
USB_INT16U usbGetEpMaxPktSize (USB_INT8U ucInterfaceIndex, USB_INT8U ucEpNum);

/*********************************************************************************************************
** Function name:       usbIsDeviceReady
** Descriptions:        判断设备是否准备好
** input parameters:    None
** output parameters:   None
** Returned value:      TRUE : 设备准备好   FALSE : 设备未准备好
*********************************************************************************************************/
USB_BOOL usbIsDeviceReady (void);

/*********************************************************************************************************
** Function name:       usbIsDeviceAttach
** Descriptions:        判断设备是否插入
** input parameters:    None
** output parameters:   None
** Returned value:      TRUE : 设备已插入   FALSE : 设备未准备插入
*********************************************************************************************************/
USB_BOOL usbIsDeviceAttach (void);

/*********************************************************************************************************
** Function name:       usbGetDeviceType
** Descriptions:        获取设备类型信息,包括设备类型,所支持协议等
** input parameters:    ucInterfaceIndex 接口号
** output parameters:   pusbDeviceType   设备类型
** Returned value:      TRUE : 成功   FALSE : 失败
*********************************************************************************************************/
USB_BOOL usbGetDeviceType (USB_INT8U ucInterfaceIndex, PUSB_DEVICE_TYPE pusbDeviceType);

/*********************************************************************************************************
** Function name:       usbGetEp
** Descriptions:        获取非控制端点的端点号
** input parameters:    ucInterface 接口号
**                      ucTranType  传输类型
** output parameters:   None
** Returned value:      > 0 : 端点号,  = 0 : 获取失败,可能是设备不存在该类型端点
*********************************************************************************************************/
USB_INT8U usbGetEp (USB_INT8U ucInterface, USB_INT8U ucTranType);

/*********************************************************************************************************
** Function name:       usbGetVer
** Descriptions:        取得USB主机协议栈的版本号
** input parameters:    None
** output parameters:   None
** Returned value:      32位版本号
*********************************************************************************************************/
INT32U usbGetVer (void);

extern volatile                     __USB_HOST_FLAGS GusbHostFlags;
extern __USB_HOST_EVENT_CNT         __GusbHostEvtCnt;                 
extern USB_INT16U                   __GusEpMaxPktSize[__USB_MAX_INTERFACE][32];
extern USB_DEVICE_DESCRIPTOR        GusbDeviceDescr;                    /*  设备描述符                  */
extern USB_CONFIGURATION_DESCRIPTOR GusbConfigDescr;                    /*  配置描述符                  */
extern USB_OTG_DESCRIPTOR           GusbOtgDescr;
extern __USB_INTERFACE_EP_DESCR     GusbInterEpDescr[__USB_MAX_INTERFACE];

extern void                         (*__GpEnumSucessCallBack)(void);    /*  枚举成功时回调函数          */
extern void                         (*__GpDevDisconCallBack)(void);     /*  设备拨出时回调函数          */

#endif

/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

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