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

【经验分享】[SDCard_FatFs笔记][一]STM32F7使用SDMMC外设移植FatFs遇到f_mount挂载成功,而f_open函数未运行的解决方法

[复制链接]
STMCU小助手 发布时间:2021-12-15 11:00
关于STM32F7使用SDMMC外设移植FatFs遇到f_mount 挂载成功,而f_open 函数未运行的解决方法
: Q. E, z: K# [1 W4 U本文开发环境:2 D7 q2 G7 f0 ~: l0 r6 g
[ IDE环境:Keil_MDK_5.28 ]/ H, r4 B1 J- B
[ MCU型号:STM32F723 ]
8 u0 ?, ]* X1 U) z$ x0 M这是我在main()函数内的代码,完成SDMMC和FatFs的初始化后打印SD卡的信息及操作步骤的反馈信息,如果正常的话应该会在SDCard里新建一个test.txt的文件;
. `: H5 `" a1 T, e/ r: o4 O& X1 W% ]$ c4 a$ R+ i, r
20200817142826202.png
# v2 c# T8 }  ^6 x7 m4 z+ l8 o

  t' X& S* F& i- i7 ]+ q但事实上打印出来是这样:
: W. D$ d7 h8 u* P. i+ k- Q5 f, d7 y+ p* }/ s5 a+ B! ]) t0 |
20200817134753774.png
. \' `: \0 b' ]/ A

( X0 `  n6 y' p% [) C. M挂载成功后,f_open函数没有正常运行,(没有打印Code值),在Fatfs初始化函数中设置打印看程序是否运行& M, F. j; G( k3 ?

4 M* }9 D+ S5 C- E
20200817140600940.png

8 k" a4 W' |: Q- {3 x( a
& c8 E9 H5 Q- m' m# r发现没什么卵用,最后通过仿真发现代码运行到这里卡死:5 q6 g7 U+ P& B; V) J' e
也就是HAL库文件下的stm32f7xx_hal_sd.c的SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR)函数下) T7 u! |/ A4 N; E& s& g8 e
, n! E/ Z5 o, |0 x5 D
2020081713560560.png

6 S1 a9 q) R! z/ ?  D2 ~4 U. `
6 i7 @6 K  S" }# R# _7 q$ K最后发现问题出在SDMMC的初始化函数中,下面这是没能正常工作的代码:$ ]; \; C0 R1 Z* O' b7 ~& w% G4 p
% ]8 @, s1 i/ e/ _% n
20200817135302572.png
  N  Z2 u7 T8 N# ^* c- m

3 h9 M. S' x3 Z# \/ b' e0 U下面这个是修改过后的代码:/ v" Y( }6 V) X% W. g  C" ~0 V) [
) m" D! ~. d9 a" S; }0 k# }0 ^
20200817135430143.png

5 o3 @8 `) M2 ?
/ S' S4 z& e- j3 V" V! w3 ^; ]6 e在HAL_SD_Init()初始化之前需要将BusWide设置为1位宽度,在SD的完成初始化后再将位宽设置为4位,重新编译,下载,实验现象:5 Q% p( E, C" X, Q! p6 q" v+ s

  H% r' e: ]; p
20200817140145668.png

5 R% u7 W  }! N/ e! U7 d  R5 S, y: M' X8 Q
查看内存卡内是否新建了test.txt文件- |6 C" K7 ~/ k
4 A! `1 B3 R% n
20200817142739106.png
% R& A! W* E7 ~9 k) T

. N7 \# K1 R+ k& _) W1 W创建文件成功,实验正常;( \9 m9 @+ c3 D& ^. S
肝了一天两夜,好在问题发现了,先记个笔记,怕以后再用到的时候又出现这个问题,也希望对卡在这里的人有些帮助;- d% c5 c: T$ U, Z. O( _+ V: k* M
至于这个问题好像是SD的规范吧,必须要设置为1位,初始化后为4位,当然你也可以一直用1位没什么影响,这个下去在学习学习!
2 j# y/ q9 |7 w* M# q" e
" Y$ X1 Q! ~0 I9 X, k) Y: ]1 W- n! p0 P5 v0 n2 C0 R3 V& a
6 x, _3 y5 O( r! g. g
赞 收藏 评论0 发布时间:2021-12-15 11:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版