fix fattime different from elmfat definition
This commit is contained in:
parent
e979b8a8b9
commit
5b50c7e41b
|
@ -897,9 +897,33 @@ DRESULT disk_ioctl(BYTE drv, BYTE ctrl, void *buff)
|
||||||
return RES_OK;
|
return RES_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
rt_time_t get_fattime(void)
|
DWORD get_fattime(void)
|
||||||
{
|
{
|
||||||
return time(RT_NULL);
|
time_t now;
|
||||||
|
struct tm *p_tm;
|
||||||
|
struct tm tm_now;
|
||||||
|
DWORD fat_time;
|
||||||
|
|
||||||
|
/* get current time */
|
||||||
|
now = time(RT_NULL);
|
||||||
|
|
||||||
|
/* lock scheduler. */
|
||||||
|
rt_enter_critical();
|
||||||
|
/* converts calendar time time into local time. */
|
||||||
|
p_tm = localtime(&now);
|
||||||
|
/* copy the statically located variable */
|
||||||
|
memcpy(&tm_now, p_tm, sizeof(struct tm));
|
||||||
|
/* unlock scheduler. */
|
||||||
|
rt_exit_critical();
|
||||||
|
|
||||||
|
fat_time = (DWORD)(tm_now.tm_year - 80) << 25 |
|
||||||
|
(DWORD)(tm_now.tm_mon + 1) << 21 |
|
||||||
|
(DWORD)tm_now.tm_mday << 16 |
|
||||||
|
(DWORD)tm_now.tm_hour << 11 |
|
||||||
|
(DWORD)tm_now.tm_min << 5 |
|
||||||
|
(DWORD)tm_now.tm_sec / 2 ;
|
||||||
|
|
||||||
|
return fat_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if _FS_REENTRANT
|
#if _FS_REENTRANT
|
||||||
|
|
Loading…
Reference in New Issue