官网代码与HAL代码,关于初始化部分代码,基本流程一样,不多多了2个设置中断优先级的代码。
NVIC_SetPriority (SysTick_IRQn, 0); 为了提高systick中断的优先级
HAL_PCD_MspInit(hpcd)函数里
HAL_NVIC_SetPriority(OTG_HS_IRQn, 6, 0);设置USBHS中断最低优先级
在 HAL_PCD_MspInit 函数里,并未涉及对reset pin 进行初始化。
函数 HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) 里, 进行了USB核的复位操作
USB_CoreReset(USBx),其内部操作与官网代码对应部分是一致的。 |