USB驱动的工作流程是如何的?

2019-07-20 23:12发布

USB在调用USBH_Init(&USB_OTG_Core,USB_OTG_FS_CORE_ID,&USB_Host,&USBH_MSC_cb,&USR_Callbacks); 后就完成了初始化主机的任务。
while(1){USBH_Process(&USB_OTG_Core, &USB_Host);}通过不停的死循环处理USB内核的状态变化。
可是我们真正用户操作的部分是USBH_USR_MSC_Application();这个函数的内容,通过往里面写对U盘的操作可以发现,这个函数是不停的被调用循环的。可是这个函数在USBH_Init()里面的USR_Callbacks;而USBH_Init()仅执行一次,真正不停循环的是USBH_Process();那么在最初的初始化完成后,程序又是从哪个环节调用的USBH_USR_MSC_Application那?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。