一、说明
在调试 STM32 USB device MSC 功能时,使用官方提供的库和示例项目,电脑可以正确识别设备,也可以正常操作。但是将 USB 部分的代码移植到自己的工程后,发现电脑无法正确识别设备,有时会在右下角显示无法识别设备。
二、解决方法
在main.c中添加 hal_delay() 函数的实现方式。
在默认的模板工程里,一般使用如下的方式实现延迟函数。
__weak uint32_t HAL_GetTick(void)
{
return uwTick;
}
__weak void HAL_Delay(__IO uint32_t Delay)
{
uint32_t tickstart = 0U;
tickstart = HAL_GetTick();
while((HAL_GetTick() - tickstart) < Delay)
{
}
}
而在 USB 项目中,需要使用如下的方式实现延时函数。
void HAL_Delay(