你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
adlu 发表于 2016-12-9 11:47 你也是用CubeMX配置生成的MDK工程吗? 上传工程我看看,或者发我邮箱。
hpdell 发表于 2016-12-9 14:09 是使用 CubeMX自动生成的, 在 usbd_storage_if.c 这个里面增加sd卡的底层驱动就可以了,
DavidWen 发表于 2017-6-9 16:12 楼主,我也遇到和您一样的问题,请问您是怎么修改usb的速度的。
是使用 CubeMX自动生成的, 在 usbd_storage_if.c 这个里面增加sd卡的底层驱动就可以了,
另外中断设置, sd卡使用dma,sd卡中断设置为6,sd卡的接收,发送dma都设置为6,usb中断设置为7, 也就是usb的中断比sd卡的要低,
其他的也没有什么了
我使用的是外接 USB3300 的高速模块的
好,谢谢!
有空我在试一下。
USBD_StatusTypeDef USBD_LL_Init (USBD_HandleTypeDef *pdev)
{
/* Init USB_IP */
if (pdev->id == DEVICE_HS) {
/* Link The driver to the stack */
hpcd_USB_OTG_HS.pData = pdev;
pdev->pData = &hpcd_USB_OTG_HS;
hpcd_USB_OTG_HS.Instance = USB_OTG_HS;
#if 0
hhcd_USB_OTG_HS.Init.dev_endpoints = 9;
hhcd_USB_OTG_HS.Init.Host_channels = 12;
#else
hpcd_USB_OTG_HS.Init.Host_channels = 11; // 设置为9、11都可以
#endif
hpcd_USB_OTG_HS.Init.speed = PCD_SPEED_FULL; // 模拟u盘,速度设置 PCD_SPEED_HIGH_IN_FULL 或者 PCD_SPEED_FULL ;
// 切记不可以设置为 PCD_SPEED_HIGH
hpcd_USB_OTG_HS.Init.dma_enable = DISABLE;
hpcd_USB_OTG_HS.Init.ep0_mps = DEP0CTL_MPS_64;
hpcd_USB_OTG_HS.Init.phy_itface = USB_OTG_ULPI_PHY;
hpcd_USB_OTG_HS.Init.Sof_enable = DISABLE;
hpcd_USB_OTG_HS.Init.low_power_enable = DISABLE;
hpcd_USB_OTG_HS.Init.lpm_enable = DISABLE;
hpcd_USB_OTG_HS.Init.vbus_sensing_enable = DISABLE;
hpcd_USB_OTG_HS.Init.use_dedicated_ep1 = DISABLE;
hpcd_USB_OTG_HS.Init.use_external_vbus = DISABLE;
if (HAL_PCD_Init(&hpcd_USB_OTG_HS) != HAL_OK)
{
Error_Handler();
}
HAL_PCDEx_SetRxFiFo(&hpcd_USB_OTG_HS, 0x200);
HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 0, 0x80);
HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 1, 0x174);
}
return USBD_OK;
}