先看程序,小编是这样写的,但是创建的文件有时候会创建不成功,出现一个 “19-10-” 的文件。实际上程序本身没问题,问题是文件名过长,写不下了所以会出现创建不成功的情况。只要在ffconf.c配置文件中修改为支持长文件命就可以了。小编是参考这篇博文修改的。
https://blog.csdn.net/eagle11235/article/details/52606089
HAL_RTC_GetDate(&hrtc,&Data,RTC_FORMAT_BIN);
txt[0]='0';
txt[1]=':';
txt[2]='/';
txt[3]=Data.Year;
txt[4]='-';
txt[5]=Data.Month;
txt[6]='-';
txt[7]=Data.Date;
txt[8]='.';
txt[9]='T';
txt[10]='X';
txt[11]='T';
//rename the file
sprintf(name,"20%02d%c%02d%c%02d%c%c%c%c",txt[3],txt[4],txt[5],txt[6],txt[7],txt[8],txt[9],txt[10],txt[11]);
//creat file
if(f_open(&file,(const TCHAR *)&name,FA_OPEN_ALWAYS|FA_WRITE)==FR_OK){
f_lseek(&file, f_size(&file));
if(f_write(&file,(uint8_t *) &save, strlen(save), &bw)==FR_OK){
f_close(&file);
}
}