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

Cub4.23生成并实现U盘功能(USB device+SD),最好STM32F407上实现

[复制链接]
枫天123 提问时间:2017-11-23 10:05 /
悬赏10ST金币已解决
我现在生成的代码只能实现枚举,还总是提示格式化 然后失败。。。。有大神帮忙吗? FS就行。

最佳答案

查看完整内容

我没用到这个文件,楼主,你就按照我给你发的去下载例程,里面有各种USB的使用。例程选择MSC这个就可以。
收藏 评论11 发布时间:2017-11-23 10:05

举报

11个回答
废鱼 回答时间:2017-11-23 10:05:45
我没用到这个文件,楼主,你就按照我给你发的去下载例程,里面有各种USB的使用。例程选择MSC这个就可以。
mark0668 回答时间:2017-11-23 11:09:57
能枚举成功就是没问题了,你自己实现读写和获取容量就基本OK了

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

废鱼 回答时间:2017-11-23 11:20:01
我用HS好像总是不行,用FS是可以的。要用FATFS这种文件系统进行格式化。
官方例程:
http://www.st.com/content/st_com ... /stsw-stm32046.html
枫天123 回答时间:2017-11-23 11:28:25
安 发表于 2017-11-23 11:20
我用HS好像总是不行,用FS是可以的。要用FATFS这种文件系统进行格式化。
官方例程:
http://www.st.com/con ...

读写总是失败,能参考下你的例程吗?FS
废鱼 回答时间:2017-11-23 13:38:04
我的是在产品中,参考的例程是我给你的这个。
枫天123 回答时间:2017-11-23 14:02:54
usbd_storage_if.c 这文件发我看看
枫天123 回答时间:2017-11-23 14:36:51
我有各种例程,旧版本的也是没问题的,就是用最新版Cub和1.17版库生成的代码不能正常识别sd卡,发现是HAL_StatusTypeDef HAL_SD_ReadBlocks(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks, uint32_t Timeout)函数  进入以下代码返回错误   
else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXOVERR))
    {hal_sd_printf("ERROR645\n");
      /* Clear all the static flags */
      __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS);
      hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN;
      hsd->State = HAL_SD_STATE_READY;
      return HAL_ERROR;
    }
还没查处原因。。。。。。
废鱼 回答时间:2017-11-23 14:50:00
我用的是标准库,没有使用HAL库。
枫天123 回答时间:2017-11-24 09:08:43
有大神帮忙吗?额。。。
枫天123 回答时间:2017-11-25 12:10:43
哈哈,终于成功了,虽然慢了点。。。
枫天123 回答时间:2017-11-27 11:02:13
本帖最后由 枫天2015 于 2017-11-27 11:48 编辑

大神,通过对比发现 以前没做出来是中断优先级问题,中断优先级需满足以下条件:      
        必须满足:SysTick > USB 和 SDDma > USB
        官方建议:SDDma > SDIO (实测不影响)


评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版