本帖最后由 stary666 于 2018-3-13 13:25 编辑 2 P4 W- h- p9 N1 G 之前实现了read文件,继续实现写功能,添加如下代码len = 512; sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_WRITE); while (sta) {: 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"); printf("Write data len:%d\r\n",len); sta=f_write(&fil,dat,len,&br); _( ^# n- h4 I2 b4 A: h+ y if(sta)7 F2 y7 o6 w: [& \: _ { printf("Write Error:%d\r\n",sta); }else printf("Writed data len:%d\r\n",br); 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) printf("SD Card open fail\r\n"); else printf("SD Card open\r\n");2 L2 ]6 Z# g! M# K D for(t=0;t<512;t++) { sta = f_read(&fil, buffer, 1, &br); if (sta == FR_OK ) { // printf("\r\n f_read() ok .. \r\n"); for(len =0;len<br;len++); a; i+ U' l; R6 ~: [8 @/ I printf("%c",buffer[len]); }else{ 7 x( H# {7 S( n9 _! T! Y printf("\r\n f_read() fail .. \r\n"); } z/ i3 _8 _( k# v }9 K8 J. u, w! h, S& x f_close(&fil); 把需要的变量定义了,就可以编译执行了,结果见图 很是兴奋啊,搞定了读写功能,可以像操作Windows一样简单了, 4 \3 \& Z6 f u' N0 C# i 发帖与2018年3月13日( |3 L# G7 g' U# d7 N/ j |
恭喜恭喜,感谢分享 |