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

stm32f769 寄存器配置SD卡---移植fatfs--实现文件读写

[复制链接]
stary666 发布时间:2018-3-13 11:38
本帖最后由 stary666 于 2018-3-13 13:25 编辑
- j7 ^/ O8 ]( D: }; `1 L2 P4 W- h- p9 N1 G
之前实现了read文件,继续实现写功能,添加如下代码len = 512;
. Q: r  w! G3 a+ }# I1 r" o    sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_WRITE);
: l! W0 s1 Z5 g) p9 L0 E- \6 `    while (sta)
) K0 [; n( ^) s+ v: ^+ K; U" P# f        {: V, j& r8 i) E3 Y
                printf("open file error! \n\t error code is %d\n\t",sta);7 O, \  x! ^1 e( i9 J/ r
                delay_ms(500);& k7 m) J' |8 A* }
        }' D  X; v) N: o2 Q5 O  J
        printf("\r\nBegin Write file...\r\n");
  v0 j  g9 z; b% i        printf("Write data len:%d\r\n",len);        
% C$ ]) N7 I: |- l+ Q  n  u3 H        sta=f_write(&fil,dat,len,&br);  _( ^# n- h4 I2 b4 A: h+ y
        if(sta)7 F2 y7 o6 w: [& \: _
        {
& `' ^7 a# o8 @  v: s4 m                printf("Write Error:%d\r\n",sta);   
# @% K) {- e: U& a: ]; [' U        }else printf("Writed data len:%d\r\n",br);
" W7 p% C" R% Z% b7 k' y8 W' |; J        printf("Write data over.\r\n");0 p, A. v8 }, T0 v, Q& o; }( i/ I; u% r
        f_close(&fil);# z& ^: J8 `- R% f3 K4 k7 S5 q
    sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_READ);   - M8 E3 {* F, R' o
    if(sta)
( s+ X, c+ P) H, n$ w' [. q9 h5 k        printf("SD Card open fail\r\n");
- y$ C: ~' Y9 _" \. Y( C1 p    else
* u" L3 O. H* k; k& h( `       printf("SD Card open\r\n");2 L2 ]6 Z# g! M# K  D
    for(t=0;t<512;t++)
0 U; k5 p7 n) r1 F3 u    {
# r2 m# [, Y9 h) F% L        sta = f_read(&fil, buffer, 1, &br);
& P4 I) w( W- A. A/ x. F9 I        if (sta == FR_OK )  
0 x$ P) G) i' R% ?2 b        {  
! z$ ~% U5 i! b//            printf("\r\n f_read() ok .. \r\n");
0 q) y$ N$ f  j
+ V* `% Z. }( l8 x2 R5 L            for(len =0;len<br;len++); a; i+ U' l; R6 ~: [8 @/ I
                printf("%c",buffer[len]);
- i9 v" x- d& n) [$ ?
& H& q$ T: U& L- o        }else{  7 x( H# {7 S( n9 _! T! Y
            printf("\r\n f_read() fail .. \r\n");     
3 g! g& I4 t+ d        }   z/ i3 _8 _( k# v
    }9 K8 J. u, w! h, S& x
    f_close(&fil);
+ Z4 l! \0 T$ o( ~0 i+ i把需要的变量定义了,就可以编译执行了,结果见图
% P9 p- \  A) e5 U8 n7 ~" @" q/ D2 j3 L
% v0 [$ x5 K5 ~" R/ o" M: W
# G2 k: Q  H1 Z# A' T, F很是兴奋啊,搞定了读写功能,可以像操作Windows一样简单了,
0 S6 ^) w' {, L. g; m- |
% _- }8 P/ J& V/ R) O4 \3 \& Z6 f  u' N0 C# i
                          发帖与2018年3月13日
( |3 L# G7 g' U# d7 N/ j

评分

参与人数 1 ST金币 +6 收起 理由
MrJiu + 6 赞一个!

查看全部评分

收藏 1 评论2 发布时间:2018-3-13 11:38

举报

2个回答
CC4 回答时间:2018-3-13 11:41:19
恭喜恭喜,感谢分享
stary666 回答时间:2018-3-13 12:15:23

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版