RTC硬件时钟设置修改【转】

本文介绍如何修改BusyBox中的date命令以实现时间精确到秒的功能,并通过hwclock命令将时间同步到RTC硬件时钟。这对于需要高精度时间记录的应用场景尤为重要。

转自:http://os.chinaunix.net/a2008/0526/981/000000981211.shtml

这两天一直在做i2c设备驱动的理解,所以很少更新文章。

     由于对于表计来说,RTC硬件时钟是非常重要的,并且其精度设计要求是比较高的,在busybox中,可以通过date命令设置当前的系统时间,然后通过hwclock将当前的系统时间写入硬件时钟中,但是busybox的date命令有一个缺陷,就是不能精确到秒,这是我们设计中所不能忍受的,这里我们感觉到源码开放对于我们来说是多么的有好处。

     修改buxybox的coreutils/date.c文件:

    static struct tm *date_conv_time(struct tm *tm_time, const char *t_string)

    {

     int nr;

     char *cp;

     nr = sscanf(t_string, "%2d%2d%2d%2d%2d%d", &(tm_time->tm_mon),

     &(tm_time->tm_mday), &(tm_time->tm_hour), &(tm_time->tm_min),&(tm_time->tm_sec),

     &(tm_time->tm_year));

     if (nr 6) {

     bb_error_msg_and_die(bb_msg_invalid_date, t_string);

     }

    将上面的函数按照如上修改,则可以精确到秒!

    格式是date后跟月日时分年

    注意年是4位年,例如:2007年10月26日 10:00:30

    date 10261000302007

    然后使用hwclock -w将当前的系统时间写入rtc硬件时钟里面!!













本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5280550.html,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值