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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • kali装电脑_Kali安装教程(Windows7和kali双系统安装教程)[通俗易懂]

    kali装电脑_Kali安装教程(Windows7和kali双系统安装教程)[通俗易懂]Kali安装教程(一)Windows7+kali双系统安装准备先安装win7,然后安装kali,并且kali的引导项安装在/boot分区而不安装在MBR中,因为这样的话就算重装win7,kali系统经过简单引导仍然可以使用。Win7的安装此处就不在赘述,现在只聊一聊kali的安装。注:教程中个别截图借用了网上某人热心童鞋的截图,在此表示感谢!!1)准备阶段准备4G的优盘一个;刻录工具为:unetb…

    2022年5月5日
    113
  • Mac virtualbox 共享文件夹

    Mac virtualbox 共享文件夹1.启动virtualbox,选中虚拟机,点击设置,点击共享文件夹;2.点击右侧按钮添加共享文件夹;3.选择共享文件夹路径(mac路径),自动挂载,固定分配两个勾选。4.VBoxGuestAdditions_5.0.0.iso下载地址http://download.virtualbox.org/virtualbox/5.0.0/5.启动VirtualBox,启动win7虚拟机,…

    2025年7月14日
    8
  • oracle 10g数据库连接时,错误ora12514 解决办法

    oracle 10g数据库连接时,错误ora12514 解决办法主要注意三点:1。在oracle安装目录下,..\oracle\product\10.2.0\db_1\NETWORK\ADMIN修改listener.ora文件,SID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =      (SID_NAME = PLSExtProc)      (ORACLE_HOME = D:\oracle

    2022年7月15日
    40
  • mysql 字符转数字进行比较大小_mysql将字符串字段转为数字排序或比大小

    mysql 字符转数字进行比较大小_mysql将字符串字段转为数字排序或比大小mysql里面有个坑就是,有时按照某个字段的大小排序(或是比大小)发现排序有点错乱。后来才发现,是我们想当然地把对字符串字段当成数字并按照其大小排序(或是比大小),结果肯定不会是你想要的结果。这时候需要把字符串转成数字再排序。最简单的办法就是在字段后面加上+0如把’123’转成数字123(以下例子全为亲测):排序:例:方法一:ORDERBY’123’+0;(首推)方法二:ORDERBYCA…

    2022年5月29日
    52
  • 旅行清单图片_旅行打包清单

    旅行清单图片_旅行打包清单2019独角兽企业重金招聘Python工程师标准>>>…

    2025年7月11日
    3
  • 如何利用vue和php做前后端分离开发?

    如何利用vue和php做前后端分离开发?

    2021年10月11日
    69

发表回复

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

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