向SD卡中写txt文件,我是直接在原子哥的USB读卡器实验main里面修改的,下到开发板运行中,成功写入了,但我删除文件后再按复位键运行就没写成功,再按复位键又成功了,如此重复,意思就是必须隔一次才能成功,不知道是什么问题?还有往SPI FLASH里面怎么也写不成功?
usb_port_set(1); //USB再次连接
LCD_ShowString(60,170,200,16,16,"USB Connecting...");//提示SD卡已经准备了
//USB配置
USB_Interrupts_Config();
Set_USBClock();
USB_Init();
delay_ms(1800);
/*就这开始添加的*/
exfuns_init(); //为fatfs相关变量申请内存
f_mount(0,fs[0]); //挂载FLASH.
loop1:
res = f_open(file, "test.txt", FA_WRITE | FA_CREATE_ALWAYS); //打开创建文件
if(res != FR_OK) {
goto loop1;
}
{
LCD_ShowString(60,220,200,16,16,"create file ok!"); // 显示创建文件成功
LCD_ShowString(60,240,200,16,16,"start write!"); // 显示开始写入数据
do{
res = f_write(file, buffer, 11,&bw); //写入数据
if(res){
LCD_ShowString(60,260,200,16,16,"write error!"); //显示写错误
break;
}
LCD_ShowString(60,280,200,16,16,"write ok!"); //显示写正确
}
while (bw < 11); //判断是否写完
}
f_close(file); //关闭文件
f_mount(0, NULL); //注销工作区
}
while(1)
|