当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 弱问一下:有没有直接获取硬件时钟的API函数?
帖子发表于 : 2009-07-03 4:42 

注册: 2009-05-13 22:53
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
我是个新手,现在在写一个程序,要用time server来同步发送与接受的clock。由于该实验要在10s-20s间完成,能接受的time difference是1ms以内;但目前time server和client间在一次同步之后的10-20s后的time difference是4-8ms,因此目前我想直接获取硬件时钟的时间而不是系统时钟的时间来进行实验。但查了半天都没查到直接获取硬件时钟的函数,哪位牛人知道,能否告诉我?或者跟我说说是不是有别的办法啊?
多谢多谢阿!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 弱问一下:有没有直接获取硬件时钟的API函数?
帖子发表于 : 2009-07-03 10:19 
头像

注册: 2008-07-28 19:51
帖子: 805
地址: 长沙
送出感谢: 1
接收感谢: 2
代码:
zhanggang@T60:~$ sudo hwclock --show
[sudo] password for zhanggang:
2009年07月03日 星期五 10时29分43秒  -0.767898 seconds


代码:
zhanggang@T60:~$ hwclock -h
hwclock - query and set the hardware clock (RTC)

Usage: hwclock [function] [options...]

Functions:
  --help         show this help
  --show         read hardware clock and print result
...


_________________
我的乌斑兔儿:http://zhanggang.net/m/b/b1/ubuntu右键选择在新的窗体打开
右边有一只黄手 ----> 或者注册Dropbox中文版感谢我


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 弱问一下:有没有直接获取硬件时钟的API函数?
帖子发表于 : 2009-07-04 0:14 

注册: 2009-05-13 22:53
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
不好意思啊,这个命令我知道,我指的是写代码的时候用到的函数,比如do_gettimeofday()之类的。大概是我没表述清楚吧,请问能再帮忙看看不?谢谢阿!
PS:
我也杭州的唉……


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 弱问一下:有没有直接获取硬件时钟的API函数?
帖子发表于 : 2009-07-04 0:33 
头像

注册: 2009-06-21 19:38
帖子: 210
地址: CUMT
送出感谢: 0 次
接收感谢: 0 次
看着不像是新手阿,呵呵~


_________________
代码:
sudo apt-get install girlfriend
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
有一些软件包无法被安装。
下列的信息可能会对解决问题有所帮助:
下列的软件包有不能满足的依赖关系:
girlfriend: 依赖: house但是它将不会被安装
girlfriend: 依赖: car但是它将不会被安装
house,car: 依赖: money但是它将不会被安装
E: 无法安装的软件包


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 弱问一下:有没有直接获取硬件时钟的API函数?
帖子发表于 : 2009-07-04 0:35 
头像

注册: 2007-09-26 17:34
帖子: 618
送出感谢: 0 次
接收感谢: 2
include<time.h>

头文件在/usr/include/time.h


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 弱问一下:有没有直接获取硬件时钟的API函数?
帖子发表于 : 2009-07-04 4:31 

注册: 2009-05-13 22:53
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
我在<linux/time.h>里找过,没有函数可以直接access到硬件的时钟,目前的想法是获取硬件时钟的ID然后读出时间,但好像也没有很合适的函数……


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 弱问一下:有没有直接获取硬件时钟的API函数?
帖子发表于 : 2009-07-07 1:21 

注册: 2009-05-13 22:53
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
没人回吗?那只好自己顶下了!


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 弱问一下:有没有直接获取硬件时钟的API函数?
帖子发表于 : 2009-07-07 1:41 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
你看看hwclock的代码不就知道了...
util-linux-ng


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 弱问一下:有没有直接获取硬件时钟的API函数?
帖子发表于 : 2009-07-07 2:22 
头像

注册: 2005-12-28 1:16
帖子: 3916
地址: 火星
系统: Ubuntu 12.10 X64
送出感谢: 1
接收感谢: 0 次
代码:
 34 open("/dev/rtc", O_RDONLY|O_LARGEFILE)  = 3
 35 stat64("/etc/adjtime", {st_mode=S_IFREG|0644, st_size=47, ...}) = 0
 36 open("/etc/adjtime", O_RDONLY|O_LARGEFILE) = 4
 37 fstat64(4, {st_mode=S_IFREG|0644, st_size=47, ...}) = 0
 38 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb0000
 39 read(4, "-0.000693 1246900320 0.000000\n124"..., 4096) = 47
 40 close(4)                                = 0
 41 munmap(0xb7fb0000, 4096)                = 0
 42 ioctl(3, RTC_UIE_ON, 0)                 = 0
 43 select(4, [3], NULL, NULL, {5, 0})      = 1 (in [3], left {4, 992000})
 44 ioctl(3, RTC_UIE_OFF, 0)                = 0
 45 gettimeofday({1246904813, 522}, NULL)   = 0
 46 ioctl(3, RTC_RD_TIME, {tm_sec=53, tm_min=26, tm_hour=2, tm_mday=7, tm_mon=6, tm_year=109, ...}) = 0
 47 open("/etc/localtime", O_RDONLY)        = 4
 48 fstat64(4, {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
 49 fstat64(4, {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
 50 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb0000
 51 read(4, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\3\0\0\0\0\0"..., 4096) = 405
 52 _llseek(4, -7, [398], SEEK_CUR)         = 0
 53 read(4, "\nCST-8\n"..., 4096)           = 7


_________________
目前负债150多万


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 弱问一下:有没有直接获取硬件时钟的API函数?
帖子发表于 : 2009-07-07 2:25 
头像

注册: 2005-12-28 1:16
帖子: 3916
地址: 火星
系统: Ubuntu 12.10 X64
送出感谢: 1
接收感谢: 0 次
根据 strace 的结果

显然和rtc相关,至少x86平台是这样的

man rtc


RTC(4) Linux Programmer’s Manual RTC(4)

NAME
rtc - real-time clock

SYNOPSIS
#include <linux/rtc.h>

int ioctl(fd, RTC_request, param);

DESCRIPTION
This is the interface to drivers for real-time clocks (RTCs).


_________________
目前负债150多万


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译