/**
* @brief USBD_Init
* Initailizes the device stack and load the class driver
* @param pdev: device instance
* @param core_address: USB OTG core ID
* @param class_cb: Class callback structure address
* @param usr_cb: User callback structure address
* @retval None
*/
void USBD_Init(USB_OTG_CORE_HANDLE *pdev,
USB_OTG_CORE_ID_TypeDef coreID,
USBD_DEVICE *pDevice,
USBD_Class_cb_TypeDef *class_cb,
USBD_Usr_cb_TypeDef *usr_cb)
/**
* @brief USBD_Init :Initailizes the device stack and load the class driver
* @param pdev:
USB_OTG_CORE_HANDLE是一个全局结构体类型,用于存储USB通信中USB内
核需要使用的的各种变量、状态和缓存等,任何USB通信(不论主机,还是从机),我们都必
须定义这么一个结构体以实现USB通信,这里定义成:USB_OTG_dev* @param coreID: 如下:根据高速还是全速设备定义
typedef enum
{
USB_OTG_HS_CORE_ID = 0,
USB_OTG_FS_CORE_ID = 1
}USB_OTG_CORE_ID_TypeDef;*@pDevice : 设备相关描述符 比如鼠标设备就有鼠标设备的一下相关描述符
* @param class_cb:设备的回调,包括设备的初始化,设备的读写操作,比如stm32初始化spiflash 初始化sd卡,读写sd卡
* @param usr_cb:用户的回调函数,当USB状态机处理完不同事务的时候,会调用这些回调函数,我们通过这些回调函数,就可以知道USB当前状态,
比如:是否枚举成功了?是否连接上了?是否断开了?等,根据这些状态,用户应用程序可以执行不同操作,完成特定功能。* @retval None
*/