
我SD卡用的是 16G
写入程序如下
FRESULT fr; //读文件返回值
FIL fsrc,fdst; //创建文件
FATFS fs; //
UINT br,bw;//读写计数
FILINFO finfo;

DIR dir;
char buffer[512]; //从文件中读出数据BUFF
const BYTE textFileBuffer[]="123456";
int main(void)
{
bsp_init();//串口初始化
while(SD_Init())
{

printf("error\r\n");
}//SD卡初始化
fr=f_mount(&fs,"0:",1);//创建工作区
fr=f_open(&fdst,"0:/456.txt",FA_CREATE_NEW|FA_WRITE);//建立一个TXT文件
if(fr==FR_OK)
{
fr=f_write(&fdst,textFileBuffer,sizeof(textFileBuffer)-1,&bw);//往文件写入123456
}

else if (fr==FR_EXIST)
{
printf("1");
}
fr=f_close(&fdst);//关闭文件
fr=f_open(&fdst,"0:/456.txt",FA_READ);//以只读的方法开启文件单步运行时中间fr的返回值都时FR_OK ,运行完这步FR=FR_NO_file(0x04)
br=1;//
while(1)

{
fr=f_read(&fdst,buffer,sizeof(buffer),&br);
if(fr||br==0)break;
}
f_close(&fdst);
while (1)
{
}
}
把SD卡插入电脑 提示文件目录损坏无法读取 不知道是那里出问题了?
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-134205-1.html
好自为之
敌动