现在正在进行FATFS的移植,结果移植上来后的代码如下: 
[mw_shl_code=c,true]printf(":%d\r\n",disk_initialize(0)); 
printf(":%d\r\n",f_mount(0, &fs)); 
     
res = f_open(&fdst,"0:/4.TXT",FA_CREATE_NEW | FA_WRITE); 
if ( res == FR_OK ) 
{
     res = f_write(&fdst, textFileBuffer, 13, &bw);
     printf("the f_write res is %d\r\n",res); 
    printf( "\r\n创建文件成功\r\n" );
     f_close(&fdst); 
} 
else if ( res == FR_EXIST ) 
{
     printf( "\r\n文件已经存在\r\n" ); 
} 
res = f_open(&fdst, "0:/4.TXT", FA_OPEN_EXISTING | FA_READ); 
br = 1; 
a = 0; 
for (;;)
{ 
   for ( a=0; a<512; a++ )
         buffer[a]=0;    
   res = f_read( &fdst, buffer, sizeof(buffer), &br ); 
   printf("\r\n %s ", buffer); 
   if (res || br == 0) break;
 } 
f_close(&fdst); [/mw_shl_code]
 
 
出现的问题现象如下: 
在PC机上在SD卡内创建一个txt文档,在串口中能够输出相应的内容。 
res = f_open(&fdst,"0:/4.TXT",FA_CREATE_NEW | FA_WRITE); 利用这句函数可以创建一个空的文本文档,但当用 
res = f_write(&fdst, textFileBuffer, 13, &bw);往里面写数据时,却返回res=1,即FR_DISK_ERR。 
 
搞不明白是怎么回事了,特来请教各位!!!谢谢~~~ 
 
  |