|
最近在调试H7接SD卡,通过USB3300实现U盘功能,调试了很久,始终搞不定。
参考的是ST的官方例程:https://github.com/STMicroelectronics/STM32CubeH7里的STM32H743I-EVAL例程里的USB_Device
然后这段代码也不报错:
if (USBD_Init(&hUsbDeviceHS, &MSC_Desc, 0) != USBD_OK)
{
Error_Handler(__FILE__, __LINE__);
}
if (USBD_RegisterClass(&hUsbDeviceHS, USBD_MSC_CLASS) != USBD_OK)
{
Error_Handler(__FILE__, __LINE__);
}
if (USBD_MSC_RegisterStorage(&hUsbDeviceHS, &USBD_DISK_fops) != USBD_OK)
{
Error_Handler(__FILE__, __LINE__);
}
if (USBD_Start(&hUsbDeviceHS) != USBD_OK)
{
Error_Handler(__FILE__, __LINE__);
}
但是也不工作。。。
我的理解里,USBD_RegisterClass、USBD_MSC_RegisterStorage这两个函数应该会调用uint8_t USBD_MSC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx)和int8_t STORAGE_Init(uint8_t lun)函数吧,但是打断点发现,压根就没有调用,是哪里没配置对吗?
|
|