浏览代码

add time related function.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1082 bbd45198-f89e-11dd-88c7-29a3b14d5316
bernard.xiong@gmail.com 14 年之前
父节点
当前提交
d57496b78c
共有 2 个文件被更改,包括 30 次插入0 次删除
  1. 29 0
      components/libc/newlib/libc.c
  2. 1 0
      components/libc/newlib/libc.h

+ 29 - 0
components/libc/newlib/libc.c

@@ -2,6 +2,27 @@
 #include <stdio.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdlib.h>
 #include <fcntl.h>
 #include <fcntl.h>
+#include <sys/time.h>
+
+struct timeval _timevalue;
+static void libc_system_time_init()
+{
+    rt_device_t device;
+    time_t time;
+    rt_tick_t tick;
+
+    time = 0; tick = 0;
+    device = rt_device_find("rtc");
+    if (device != RT_NULL)
+    {
+        rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time);
+    }
+
+    tick = rt_tick_get();
+
+    _timevalue.tv_sec = time;
+    _timevalue.tv_usec = (1000000UL * tick)/RT_TICK_PER_SECOND;
+}
 
 
 void libc_system_init(const char* tty_name)
 void libc_system_init(const char* tty_name)
 {
 {
@@ -20,3 +41,11 @@ void libc_system_init(const char* tty_name)
 	putenv("HOME=/");
 	putenv("HOME=/");
 }
 }
 
 
+int libc_time_to_tick(const struct timespec *time)
+{
+	int tick;
+
+	tick = RT_WAITING_FOREVER;
+
+	return tick;
+}

+ 1 - 0
components/libc/newlib/libc.h

@@ -2,5 +2,6 @@
 #define __RTT_LIBC_H__
 #define __RTT_LIBC_H__
 
 
 void libc_system_init(const char* tty_name);
 void libc_system_init(const char* tty_name);
+int libc_time_to_tick(const struct timespec *time);
 
 
 #endif
 #endif