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

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

[复制链接]
STMCU小助手 发布时间:2021-12-15 11:00
关于STM32F7使用SDMMC外设移植FatFs遇到f_mount 挂载成功,而f_open 函数未运行的解决方法+ ?8 u' p8 c* l- \! V( e) o. r, v
本文开发环境:
/ |5 }2 H' G; _5 a[ IDE环境:Keil_MDK_5.28 ]2 f% j5 n  l, J1 @2 Q4 x
[ MCU型号:STM32F723 ]& z: z) A; K% |2 Q
这是我在main()函数内的代码,完成SDMMC和FatFs的初始化后打印SD卡的信息及操作步骤的反馈信息,如果正常的话应该会在SDCard里新建一个test.txt的文件;
- `* `0 w  B% c  G6 [0 s7 \
) r# P* f* o3 Y& Y8 I! N% Y
20200817142826202.png
- ]; J# G0 I- H5 j$ M8 a

# u! o  i6 c- P! R但事实上打印出来是这样:
$ w& \" I0 `% o+ E
  P0 e! O5 U# B4 k8 A: |# Q% q( a& s
20200817134753774.png

+ s% A7 g/ e5 O7 L! U2 K' z% ]7 C
  H4 K' J) P* o$ b  \+ m/ d挂载成功后,f_open函数没有正常运行,(没有打印Code值),在Fatfs初始化函数中设置打印看程序是否运行5 y$ l2 S8 B0 ?' ]: k+ ]2 M' Z& k

9 K( U6 N1 ^! b. l) G
20200817140600940.png
6 y; i) {! V; }0 V3 o) \
, l, A$ [6 E% A# i$ |
发现没什么卵用,最后通过仿真发现代码运行到这里卡死:& |  g2 @& f6 K1 I
也就是HAL库文件下的stm32f7xx_hal_sd.c的SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR)函数下
+ \5 m- }! M4 |2 k4 A8 D* d/ g# {
  ^( |9 F$ v# P- L
2020081713560560.png

7 y8 }% q( \3 A
& J0 P4 H3 O0 y3 N6 }% j最后发现问题出在SDMMC的初始化函数中,下面这是没能正常工作的代码:
2 e) I$ m7 h1 P8 ]! @% \; C  u: ?9 [% g
* d- z- i( \1 U
20200817135302572.png
& E8 e2 \+ \2 Z- Q& s
- v& L3 {5 x3 ]6 m6 l! g$ A6 P
下面这个是修改过后的代码:" x3 n% ~# d6 S
& |- Q  }& h& o; v
20200817135430143.png
$ M8 n7 E5 d  l' v7 M! m
' J  y* W/ I. H1 g$ z- t
在HAL_SD_Init()初始化之前需要将BusWide设置为1位宽度,在SD的完成初始化后再将位宽设置为4位,重新编译,下载,实验现象:
3 v" t4 E/ D0 A9 V$ `$ a! z9 ?  K
20200817140145668.png

2 i$ A6 R5 W! }0 K* ^' d3 l6 I( y. S4 o1 n  s% j
查看内存卡内是否新建了test.txt文件
. ?$ r) P; H) c
7 u; |3 l+ G# U0 M' z8 _7 u! I3 c
20200817142739106.png
; O* {) Q2 _3 H; _! K9 c/ `
% G/ l, S' ~9 L6 B# l8 k. ]; h3 c
创建文件成功,实验正常;
  t) U6 S8 S& }! b7 u$ {$ {2 Y肝了一天两夜,好在问题发现了,先记个笔记,怕以后再用到的时候又出现这个问题,也希望对卡在这里的人有些帮助;: W; R; v* z6 m
至于这个问题好像是SD的规范吧,必须要设置为1位,初始化后为4位,当然你也可以一直用1位没什么影响,这个下去在学习学习!. C: z( r7 p* K2 `% c

9 X" T8 I" J# b3 |9 B) N$ g+ h0 l+ j, W$ c' f! K
; |6 k/ N. L3 n" I- w  X( a# F
收藏 评论0 发布时间:2021-12-15 11:00

举报

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