请教大家一个问题,在SD卡中以时间为文件名建立txt文件。请问怎么与时间联系起来呢。能否给点提示呢。
谢谢。
------解决思路----------------------
这些文件是人手工创建的还是系统的哪个程序创建。
是程序创建的,就去查查这个程序的资料
------解决思路----------------------
先得到RTC时间,然后放到文件名fileName中;
在f_open时以此为文件名创建文件。
sprintf(fileName, "File_%s.txt", RTCTime);
f_open(&file, fileName, FA_CREATE_NEW
------解决思路----------------------
FA_WRITE);
------解决思路----------------------
如果使用的是fatfs系统 可以重写DWORD get_fattime (void)函数 可以详细阅读一下fatfs的官网
DWORD get_fattime(void)
{
DWORD time_buff=0;
PCF8563_ReadWrite_Time(1); //获取时间信息
//将时间十六进制转换成BCD码
TimeValue.year = HX_to_DX(TimeValue.year); //年
TimeValue.month = HEX_to_BCD(TimeValue.month); //月
TimeValue.date = HEX_to_BCD(TimeValue.date); //日
TimeValue.hour = HEX_to_BCD(TimeValue.hour); //时
TimeValue.minute = HEX_to_BCD(TimeValue.minute);//分
TimeValue.second = HEX_to_BCD(TimeValue.second);//秒
//按照FatFs的时间格式组合
time_buff
------解决思路----------------------
= ((TimeValue.year - 1980)<<25); //年
time_buff
------解决思路----------------------
= (TimeValue.month<<21); //月
time_buff
------解决思路----------------------
= (TimeValue.date<<16); //日
time_buff
------解决思路----------------------
= (TimeValue.hour<<11); //时
time_buff
------解决思路----------------------
= (TimeValue.minute<<5); //分
time_buff
------解决思路----------------------
= (TimeValue.second/2); //秒
return time_buff;
}