本帖最后由 stary666 于 2018-3-13 13:25 编辑 + m3 ^8 _' X) h, x0 {' ` ' T( |- [' q. e1 ^; z+ I 之前实现了read文件,继续实现写功能,添加如下代码len = 512; sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_WRITE); while (sta)5 p% b2 O% b/ m6 g { printf("open file error! \n\t error code is %d\n\t",sta); delay_ms(500);* I6 u5 J2 _- ]4 ]- C# { } printf("\r\nBegin Write file...\r\n");! l4 L) N" p5 X0 u' n( `. r printf("Write data len:%d\r\n",len); sta=f_write(&fil,dat,len,&br);7 M9 p" | k$ {0 c9 A if(sta) {/ i! A6 v% i6 G, _ printf("Write Error:%d\r\n",sta); }else printf("Writed data len:%d\r\n",br); printf("Write data over.\r\n"); f_close(&fil); sta = f_open(&fil,"fatfs.txt",FA_OPEN_ALWAYS | FA_READ); if(sta) printf("SD Card open fail\r\n"); else4 ?' p/ ^2 m( Z* M# A9 T. k- A printf("SD Card open\r\n"); for(t=0;t<512;t++) {9 A: B7 E% M7 `1 A sta = f_read(&fil, buffer, 1, &br);1 s i( n+ n1 _: y: c, f# x0 C if (sta == FR_OK ) { // printf("\r\n f_read() ok .. \r\n"); for(len =0;len<br;len++) printf("%c",buffer[len]);, G; C T) @! e 0 D: ?- U; A, w( u }else{ printf("\r\n f_read() fail .. \r\n"); } } f_close(&fil);; E2 R9 p! Y# H* C' Y2 `, h 把需要的变量定义了,就可以编译执行了,结果见图$ M+ Y r5 }& q! O1 t . w9 {" Z' ~5 M( W! C. x0 U$ ? & _, C2 z( J2 l+ G$ @ 很是兴奋啊,搞定了读写功能,可以像操作Windows一样简单了,) N7 W& R& M3 ]" k3 |' i 7 i4 Y$ k% l& z+ t 发帖与2018年3月13日; T3 A2 w# y9 }: k1 q) V: E+ v |
恭喜恭喜,感谢分享 |