你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教下,最近在折腾sd卡模拟u盘读写 ???

[复制链接]
hpdell 提问时间:2016-12-6 10:28 /
阅读主题, 点击返回1楼
收藏 1 评论29 发布时间:2016-12-6 10:28
29个回答
hpdell 回答时间:2016-12-9 14:09:59
本帖最后由 hpdell 于 2016-12-9 14:26 编辑
adlu 发表于 2016-12-9 11:47
你也是用CubeMX配置生成的MDK工程吗?
上传工程我看看,或者发我邮箱。

是使用 CubeMX自动生成的, 在 usbd_storage_if.c 这个里面增加sd卡的底层驱动就可以了, usbd_storage_if.rar (4.11 KB, 下载次数: 67)
adlu 回答时间:2016-12-9 16:57:08
hpdell 发表于 2016-12-9 14:09
是使用 CubeMX自动生成的, 在 usbd_storage_if.c 这个里面增加sd卡的底层驱动就可以了,

好,谢谢!
有空我在试一下。
zbber 回答时间:2016-12-9 18:17:00
我有USB读取SD卡
斜阳__ 回答时间:2016-12-10 09:27:06
看看,mark
samhong 回答时间:2016-12-10 10:20:28
周末愉快!签到签到。
samhong 回答时间:2016-12-10 10:45:20
周末愉快!
samhong 回答时间:2016-12-10 10:46:11
sd卡模拟u盘读写这功能好实用的。
DavidWen 回答时间:2017-6-9 16:12:54
楼主,我也遇到和您一样的问题,请问您是怎么修改usb的速度的。
hpdell 回答时间:2017-6-10 20:03:13
DavidWen 发表于 2017-6-9 16:12
楼主,我也遇到和您一样的问题,请问您是怎么修改usb的速度的。

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;
}
epochal 回答时间:2017-6-11 08:09:46
还是配置的问题!谢谢分享!

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版