FreeRTOS与SD卡的写入
时间:10-02
整理:3721RD
点击:
SD卡采用FatFs文件系统,TI提供的库直接使用,如果不使用OS,可以正常写入
static FIL fp_vol; char filename[20]; char pBuffer[1024]; int Size; int i,j; for(j=0;j<5;j++) { dvfNum++; sprintf(filename,"%d.wav",dvfNum); Report("\n\n\rWriting %s...\n\r",filename); res = f_open(&fp_vol,filename,FA_CREATE_ALWAYS|FA_WRITE); if(res == FR_OK) { for(i=0;i<2000;i++)//30000 { res = f_write(&fp_vol,pBuffer,1024,&Size); if(res!=FR_OK||Size!=1024) { Report("Wrote : %d Bytes,%d",Size,i); break; } } res = f_close(&fp_vol); } else { Message("Failed to create a new file\n\r"); } Report("Wrote : %d Bytes,%d",Size,i); } while(1);
连续写入5个1000K大小的文件,不管写多少次都可以正常写入;但是一旦用OS启动一个任务来进行写文件操作就无法写入成功。
利用osi_TaskDisable();来停止任务调度也不行,请教一下各位,如何在OS下正常使用FatFs进行文件读写!麻烦各位!