请选择 进入手机版 | 继续访问电脑版

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

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

[复制链接]
stary666 发布时间:2018-3-13 11:38
本帖最后由 stary666 于 2018-3-13 13:25 编辑 3 @, d. D4 m0 s3 ]; \. D

4 h) n8 G: F1 W之前实现了read文件,继续实现写功能,添加如下代码len = 512;
& Q. G7 O& H- F! ]7 B4 W    sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_WRITE);
) j% p; p- S/ ^: Y6 \    while (sta)
9 q0 y4 j! j: U' ^$ x$ F        {, q2 Y( d9 k  j/ X9 @
                printf("open file error! \n\t error code is %d\n\t",sta);
; [) R& }) P( s: B                delay_ms(500);+ Q7 B6 x# F" A3 f1 j& X
        }5 [# Z9 l9 B% }+ J! o8 s5 q
        printf("\r\nBegin Write file...\r\n");
4 K9 s2 y* M% E( ?        printf("Write data len:%d\r\n",len);        / H4 [) P# {) @- _5 j. O2 y
        sta=f_write(&fil,dat,len,&br);
3 `! F- h; q4 ]' k1 ?        if(sta)4 t$ B9 e) y+ |+ ~& g2 [
        {
. C7 t; z% k/ m, ?; z. C                printf("Write Error:%d\r\n",sta);   , l% U5 Y* G5 ?. [: |+ g; H" J
        }else printf("Writed data len:%d\r\n",br);4 X* H1 g- q! [7 m
        printf("Write data over.\r\n");& {$ ^$ q* B3 N1 m3 v5 Z
        f_close(&fil);, Z3 ^; F3 T. f: J- y! ?: N2 M
    sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_READ);   
+ m0 q2 C3 ?  s" i+ r9 z    if(sta)
! @" ?0 h$ \/ {& [5 q& J        printf("SD Card open fail\r\n");
# ]& Y  F! a5 f1 d8 d    else
# d* _! ]6 J; r' p9 L7 j% o       printf("SD Card open\r\n");
1 t0 r7 f- X2 \7 @. T# t* X    for(t=0;t<512;t++), e: C7 x0 g7 _
    {
& u8 ^/ v+ K/ l2 p, S& G        sta = f_read(&fil, buffer, 1, &br);- X* X/ q! H1 `' m$ R( Z
        if (sta == FR_OK )  ) V7 ^! {" C$ d6 S
        {  
" I4 B+ W) W* N//            printf("\r\n f_read() ok .. \r\n");
4 }5 [' f& P% l
( J3 Q% `6 t  U& r6 y            for(len =0;len<br;len++)9 h: v- {9 N4 d. C. r# F. I
                printf("%c",buffer[len]);
  f  t2 d* {, c" J; i
4 ~0 B/ a. V: Z9 X, d" |( C9 u# t        }else{  
# e3 K) n7 d, O* _" S# X            printf("\r\n f_read() fail .. \r\n");     
8 R2 M1 D+ d$ Q        }
; p( x1 Y8 m% h" r    }
) _# c- i! E: D4 Q    f_close(&fil);7 V6 s+ d0 c& j+ Y, @$ X
把需要的变量定义了,就可以编译执行了,结果见图/ B1 ?' W* J5 Y$ L! y" V
  P* r* `, X7 Z0 t+ n) j$ u, d

/ }7 F) W5 d; W, I; W2 |很是兴奋啊,搞定了读写功能,可以像操作Windows一样简单了,
) b+ @2 X* e3 d/ o4 G; Z2 w9 r1 t' i7 U4 ]6 Q8 m! Z

0 _5 `9 `1 K5 ~3 [/ v9 U9 d                          发帖与2018年3月13日
6 u7 y( K( J3 s' Q" w

评分

参与人数 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 手机版