器件型号:CC3220
大家好、
我正在使用以下函数计算表示存储文件时 SD 卡中日期的时间:
int32_t fatfs_getFatTime (空)
{
time_t 秒;
uint32_t fatTime;
struct tm *pTime;
/*
* TI TIME()返回1900年以来经过的秒数,而其他工具则返回
*从1970年起返回秒数。 但是、TI 和 GNU localtime()
*将 TM TM_year 设置为1900年以来的年数。
*
秒=时间(空);
pTime = localtime (&seconds);
/*
* localtime()将 pTime->TM_year 设置为年数
*自1900年起、因此从 TM_year 中减去80即可获得 FAT 时间
*自1980年起的偏移量。
*
fatTime =((uint32_t)(pTime->TM_year - 80)<< 25)|
((uint32_t)(pTime->TM_mon)<< 21)|
((uint32_t)(pTime->tm_mday)<< 16)|
((uint32_t)(pTime->tm_hour)<< 11)|
((uint32_t)(pTime->TM_min)<< 5)|
((uint32_t)(pTime->TM_sec)>> 1);
返回((int32_t) fatTime);
}
秒= fatfs_getFatTime();
ts.tV_sec =秒;
但是、除了当前日期之外、其他值也不同、有人能建议我如何表示文件存储在 SD 卡中的确切时间。
谢谢、此致
Sreentha