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

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

[复制链接]
STMCU小助手 发布时间:2021-12-15 11:00
关于STM32F7使用SDMMC外设移植FatFs遇到f_mount 挂载成功,而f_open 函数未运行的解决方法
: n) V2 _* U# i本文开发环境:: K" d2 B, N. K
[ IDE环境:Keil_MDK_5.28 ]  I9 m/ k) ?- l$ A
[ MCU型号:STM32F723 ]
( T+ m3 p7 y6 X这是我在main()函数内的代码,完成SDMMC和FatFs的初始化后打印SD卡的信息及操作步骤的反馈信息,如果正常的话应该会在SDCard里新建一个test.txt的文件;
6 @* G! [2 S; e! B. [
& o7 p) r) [4 t  A& a
20200817142826202.png
$ J* k8 q7 \/ f5 L$ h  Y4 l' B
) A# d3 R5 i$ P
但事实上打印出来是这样:' f9 g' H3 `) r% n

1 q1 B3 F  \, Z& l* N
20200817134753774.png

- W$ }. b3 U6 u) c, F2 O
) f2 i! N. N; s9 {. i挂载成功后,f_open函数没有正常运行,(没有打印Code值),在Fatfs初始化函数中设置打印看程序是否运行
1 H% D- R" X7 \$ b) x
8 @& a9 p/ Z/ B$ l* h5 R! [
20200817140600940.png

# L  w2 T5 ~" c8 k" t+ s
% Y/ `% Z, b& ^9 |4 `2 M1 E发现没什么卵用,最后通过仿真发现代码运行到这里卡死:
& i5 Y+ ?2 {0 Y  a1 j& C  i也就是HAL库文件下的stm32f7xx_hal_sd.c的SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR)函数下
5 V3 W4 Y; P/ _' u6 g1 g& @
; Z; r( G0 m; Z2 u" h% H5 }4 s
2020081713560560.png

8 L; P8 n" ]1 X
3 F3 \  G) I4 }) t最后发现问题出在SDMMC的初始化函数中,下面这是没能正常工作的代码:, j% o% l5 U2 ~  q5 r& l0 g
/ s) I0 k$ h/ h  u* T% ?- K
20200817135302572.png
5 t& d7 Y+ N* P4 l6 z0 ^
( K) W0 w1 s; p$ B" U% W4 }
下面这个是修改过后的代码:- A& v2 D4 o3 i" G4 f  f
; g7 {" f1 M6 r# {3 M0 k# t$ o
20200817135430143.png
2 x5 l" D+ z$ p. P

! |5 @* ~% r: v* \0 f$ R' i4 z& e在HAL_SD_Init()初始化之前需要将BusWide设置为1位宽度,在SD的完成初始化后再将位宽设置为4位,重新编译,下载,实验现象:
# W0 }$ g+ M! _. m( V
! d+ \& ^4 n5 T8 n1 G0 U( L
20200817140145668.png

  f: q. W% p3 r$ G% f! c$ E+ b
. M: L! V, `: f0 s查看内存卡内是否新建了test.txt文件
  G8 S0 q$ t$ L& v
: G  w- A$ m% ^3 C% t
20200817142739106.png

( E* a% {7 ^+ f8 Q; r+ e* h6 w
6 K, R& g9 O, w2 v1 V创建文件成功,实验正常;" D" c7 G: L7 j' j5 s5 W% I
肝了一天两夜,好在问题发现了,先记个笔记,怕以后再用到的时候又出现这个问题,也希望对卡在这里的人有些帮助;
: O6 b' v5 e7 A3 ^  K8 G至于这个问题好像是SD的规范吧,必须要设置为1位,初始化后为4位,当然你也可以一直用1位没什么影响,这个下去在学习学习!- p7 N: E7 D9 Z% b4 H( c, A
/ |# w7 ~+ {$ R( }2 H% w, M
1 C$ \5 r/ a  d, A

) m" r$ X  f  w# n1 Q" {/ c  I
收藏 评论0 发布时间:2021-12-15 11:00

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版