提交 5b50c7e4 编写于 作者: X xools

fix fattime different from elmfat definition

上级 e979b8a8
...@@ -897,9 +897,33 @@ DRESULT disk_ioctl(BYTE drv, BYTE ctrl, void *buff) ...@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册