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

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

[复制链接]
STMCU小助手 发布时间:2021-12-15 11:00
关于STM32F7使用SDMMC外设移植FatFs遇到f_mount 挂载成功,而f_open 函数未运行的解决方法/ f/ ~1 R' {; w1 N5 ]: O
本文开发环境:' c9 G, r/ S2 L  F
[ IDE环境:Keil_MDK_5.28 ]" v. A$ ^3 t( l6 ^
[ MCU型号:STM32F723 ], @0 F, o" Q1 v- q& |( i8 c
这是我在main()函数内的代码,完成SDMMC和FatFs的初始化后打印SD卡的信息及操作步骤的反馈信息,如果正常的话应该会在SDCard里新建一个test.txt的文件;
' c7 h  |6 Q# e* p, m9 |3 @
4 j7 b/ }. k! k% c/ h/ {5 u" M0 R; v
20200817142826202.png

) D$ s. t! m1 |; N0 C. |. m5 B7 w# q# E  v3 G. G4 L3 z
但事实上打印出来是这样:
  V# T+ d( e8 D! w9 d5 ~) T  ^( h0 t" [; V' [0 @" ^5 R
20200817134753774.png
+ X9 }3 @. G" t: s

2 K  L- C3 Z. k% @, G' d挂载成功后,f_open函数没有正常运行,(没有打印Code值),在Fatfs初始化函数中设置打印看程序是否运行
$ m6 O& E" C! o4 J+ ~3 O* D
( b9 `4 ?) _# m- Q
20200817140600940.png
% B1 j$ S3 Y7 `1 o) Q; p" P* ?

2 }) O$ [0 U5 [$ s发现没什么卵用,最后通过仿真发现代码运行到这里卡死:
0 b6 u5 r  \" N! t/ l4 F4 `也就是HAL库文件下的stm32f7xx_hal_sd.c的SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR)函数下
2 f4 j* {: Q9 @8 E4 k
0 [1 ?) `+ I9 J1 e; L
2020081713560560.png
& g# ]+ r6 z2 N, O+ C

; S$ f1 O( s8 l+ j5 v: |. Q最后发现问题出在SDMMC的初始化函数中,下面这是没能正常工作的代码:1 V0 ~- q! t2 `7 U9 }$ W5 I1 \

8 r6 P( i" P, W9 Y8 P/ ]
20200817135302572.png
: `' o2 J. r. u, c

0 Q; ?4 V- a% H1 G4 S下面这个是修改过后的代码:9 X9 {' v/ Q+ s6 j* r
4 a& A/ c2 X9 y5 i9 a3 w7 w, ]$ w
20200817135430143.png

# i2 E+ D- i7 l# D. S" a4 g2 Y  L4 |, l
在HAL_SD_Init()初始化之前需要将BusWide设置为1位宽度,在SD的完成初始化后再将位宽设置为4位,重新编译,下载,实验现象:# m- ^0 b5 n. E6 c8 N! q7 v

2 P! ?/ D' s) u. ~. Q
20200817140145668.png

! h, C* y0 `5 e$ m, Z' `, E
& v" F2 \3 y9 o6 B查看内存卡内是否新建了test.txt文件6 `2 A  `/ H# |6 E6 b4 v
8 ?# u8 q. q/ p# }9 L/ L
20200817142739106.png
# b3 Q, T2 {- W: `3 O
) X9 T2 G7 W* L, o4 s
创建文件成功,实验正常;
2 E9 k( |! l8 |2 o' J1 x' A肝了一天两夜,好在问题发现了,先记个笔记,怕以后再用到的时候又出现这个问题,也希望对卡在这里的人有些帮助;" P# w$ b0 f: t4 l& D6 @
至于这个问题好像是SD的规范吧,必须要设置为1位,初始化后为4位,当然你也可以一直用1位没什么影响,这个下去在学习学习!8 N% s* k- b3 g- a9 n! l

  H( _+ K3 a; j. m1 _
- F, E6 W# \6 R7 n8 X! L) ~. t' j, Z, ~- l
收藏 评论0 发布时间:2021-12-15 11:00

举报

0个回答

所属标签

相似技术帖

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