MCU为stm32f207 ,fatfs9,!在使用过程发现无法注册多个工作区,只能使用工作区0,工作区0读写什么都没问题,但换成工作区1报 FR_INVALID_DRIVE 驱动器号无效错误!
void My_FatFs_TEST(void)
{
FATFS fs[2]; // 逻辑器件的工作区(文件系统对象)
FIL fsrc, fdst; // file objects 文件对象
FRESULT res; // FatFs function common result code fatfs函数共同结果代码
UINT br, bw; // File R/W count 文件读写字节数
int a = 0;
BYTE buffer[4096]; // file copy buffer 文件拷贝缓冲区
f_mount(0,&fs[0]);//这个工作区没问题
f_mount(1,&fs[1]);//这个就不行
res=f_open(&fsrc,"0:/Demo.TXT",FA_OPEN_EXISTING|FA_READ);//打开驱动0的源文件 换成1报错
//if(res);
res=f_open(&fdst,"1:/copy.TXT",FA_CREATE_NEW|FA_WRITE);//1区报错 换成0区没问题
for(;;)
{
res=f_read(&fsrc,buffer,sizeof(buffer),&br);
if(res||br==0) break;//文件结束错误
res=f_write(&fdst,buffer,br,&bw);
if(res||bw<br) break;//磁盘满字节数
f_close(&fsrc);
f_close(&fdst);
f_mount(0,NULL);//注销工作区
f_mount(1,NULL);
}
}*/ |