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

请教下,最近在折腾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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版