嵌入式技术论坛
直播中

风来吴山

8年用户 1477经验值
擅长:电源/新能源
私信 关注
[问答]

RTThread fatfs写SD卡为什么不能大于511呢

rtthread fatfs 写SD卡 每次 write(fd, s, 511) 不能大于511,大于511就hardfault error

小于511就没问题,连续多次写都可以,

static char s[1024] ;

int i;

rt_memset(s,'A',sizeof(s) );

rt_kprintf("Write string %s to test.txt.\n", s);

/* 以创建和读写模式打开 /text.txt 文件,如果该文件不存在则创建该文件*/

fd = open("/text.txt", O_WRONLY | O_CREAT);

if (fd >= 0)

{

for( i=0 ;i <100;i++ )

{ write(fd, s, 513); } //

close(fd);

rt_kprintf("Write done.\n");

}

回帖(2)

夏日余晖

2022-7-29 10:17:43
感觉应该检查SD卡驱动。
举报

风来吴山

2022-7-29 10:18:13
使用 CP 命令复制文件也没问题,各种大小文件都有测试,,
write(fd, s, 511) 不能大于511, 否则就经常 hardfault ,
举报

更多回帖

发帖
×
20
完善资料,
赚取积分