STM32H743的SD卡读写测试(SDIO)

STM32H743的SD卡读写测试(SDIO)水平不行 光入坑了 每次爬出来都精疲力竭 把野火的 SD 卡测试程序 移植到字节的 xi 项目中 说啥也不行 直接用野火的程序就 OK 移植过来就不行 除了移植程序相关的 h c 文件外 发现一个很坑的文件 就是那个 hal conf 文件 这里除了定义包含哪些库文件 还有其他的一些定义 已经不止一次被这个文件坑死 这次移植 sd 卡程序 我的项目程序的 conf 文件 多了一行定义 defineUS

水平不行,光入坑了。每次爬出来都精疲力竭。

把野火的SD卡测试程序,移植到字节的xi项目中,说啥也不行,直接用野火的程序就OK,移植过来就不行。

除了移植程序相关的.h.c文件外,发现一个很坑的文件,就是那个hal_conf文件。这里除了定义包含哪些库文件,还有其他的一些定义,已经不止一次被这个文件坑死。

这次移植sd卡程序,我的项目程序的conf文件,多了一行定义

#define  USE_SD_TRANSCEIVER           1U               /*!< use uSD Transceiver */

野火的程序里没有。

然后我的程序要么初始化失败,要么卡在Wait_SDCARD_Ready()这个函数里出不来,后来把定义改成

#define  USE_SD_TRANSCEIVER           0U               /*!< use uSD Transceiver */

这样就能初始化成功了,也不卡在上面那个函数里了。但是读写还是不行

后来发现野火程序里写了一句:SDMMC只能访问AXI_SRAM

然后我就把用于读写SD卡的数组定义到了AXI_SRAM,但是还是不行。简直要崩溃

有病乱投医,又改了3个地方

一个是SDMMC的分频: uSdHandle.Init.ClockDiv            = 8;

原来是0.  改成了8

一个是systick的中断优先级,在conf文件里:#define  TICK_INT_PRIORITY            ((uint32_t)0x0E) /*!< tick interrupt priority */

另一个是SDMMC的中断优先级:HAL_NVIC_SetPriority(SDMMC1_IRQn,3,0);  //配置SDMMC1中断

然后。。。。。。。

奇迹出现了!!!!

读写测试成功了!!!!

2020年1月1日,计划是把fatfs调好,没想到从早调到晚上,不带fatfs的程序都一直没整明白。还好苦心人天不负,得到点安慰!

水平不行,光入坑了,程序照抄都抄不明白。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233067.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月20日 上午11:01
下一篇 2025年8月20日 上午11:22


相关推荐

  • Weblogic-SSRF漏洞复现

    Weblogic-SSRF漏洞复现这两天了解的ssrf复现这个漏洞差不多了,开始进行笔迹整理:上面一篇介绍的就是些入门的基础,让你可以更加好的去理解,更好的懂ssrf这个漏洞的原理。0x00到底什么是ssrf呢?SSRF(server-siderequestforgery):服务器端请求伪造。是一种由攻击者构造形成由服务器端发起请求的一个安全漏洞,一般情况下,ssrf攻击的目标是从外网无法访问的内部系统(正是因…

    2022年6月25日
    52
  • 漫谈 IDEA 设置 JDK 版本

    漫谈 IDEA 设置 JDK 版本漫谈 IDEA 设置 JDK 版本背景 IDEA 里是相当多的地方可以设置 JDK 版本 很多资深的开发都未必知道其中区别 以及设置后产生的影响 当然本人也没有完全搞清楚 所以也需要众人拾柴 如果出现版本的问题 比如编译错误 运行时提示版本错误 一般来说 版本都保持一致 就不会有问题 仔细阅读本文 你会有不少收获的 IDEA 里可设置 JDK JRE 版本的地方大略看看即可 这个子标题只列出可以设置 jdk 版本的地方 关于它的作用 在后续的标题下进行分析 1 项目结构 ProjectFile gt Proj

    2026年3月20日
    6
  • 入门理解H264编码

    入门理解H264编码nbsp nbsp nbsp nbsp nbsp 最近入门音视频技术 一直在学习 H264 编解码标准 了解了不少关于 H264 的相关知识 对于网上各种类型的资料 始终没有找到一篇适合的知识梳理资料 可能是查找方式不对 所以花费了比较多的时间 经过一段时间的熟悉后结合网上各类大神的指导资料决定自己整理一下关于 H264 编解码标准的知识 以后方便自己查阅 也让更多刚入门的人提供一个参考资料 由于是新人 所以有些地方可能有理解不全面 望各位前

    2026年3月20日
    2
  • js算法初窥07(算法复杂度)

    算法复杂度是我们来衡量一个算法执行效率的一个度量标准,算法复杂度通常主要有时间复杂度和空间复杂度两种。时间复杂度就是指算法代码在运行最终得到我们想要的结果时所消耗的时间,而空间复杂度则是指算法中用来存

    2022年3月25日
    40
  • spring boot redis 缓存_redis本地缓存

    spring boot redis 缓存_redis本地缓存SpringBoot集成Redis缓存查询操作是应用中最常见的操作,如果每次查询都从MySQL中查询则会影响效率,通常需要引入缓存来实现查询性能的优化。缓存可以选择本地缓存,远程缓存或本地缓存结合远程缓存。本地缓存可以使用Guava或Caffeine提供的解决方案,而远程缓存则可以选择Redis这样的内存数据库。本文记录一下SpringBoot集成Redis做缓存的相关配置。1引入依赖引入相应Starter。<dependency><gr

    2025年12月10日
    10
  • Activiti6详细教程

    Activiti6详细教程一、为什么选择Activitiactiviti介绍Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。工作流引擎对比二、核心7大接口、28张表7大接口(一)7大接口RepositoryService:提供一系列管理流程部署和流程…

    2022年7月21日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号