关于以RTC时间命名FATFS文件不成功的问题


先看程序,小编是这样写的,但是创建的文件有时候会创建不成功,出现一个 “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);	
	}
}

 

你可能感兴趣的:(STM32笔记)