首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用clock_settime()将时间写入RTC芯片?

是否可以使用clock_settime()将时间写入RTC芯片?
EN

Stack Overflow用户
提问于 2013-04-07 08:30:56
回答 2查看 1K关注 0票数 2

可以使用/dev/rtc上的ioctl 时间为RTC芯片设置时间和日期。但是/dev/rtc只允许一个进程打开它。

因此,我计划继续使用定时(),它不需要打开/dev/rtc设备。但我不清楚它是否将日期和时间设置为RTC芯片。

根据手册页,clock_settime() API支持时钟跟踪。哪一个写入RTC芯片(如果它支持)?

代码语言:javascript
复制
CLOCK_REALTIME
    System-wide realtime clock. Setting this clock requires appropriate privileges. 
CLOCK_MONOTONIC
    Clock that cannot be set and represents monotonic time since some unspecified starting point. 
CLOCK_PROCESS_CPUTIME_ID
    High-resolution per-process timer from the CPU. 
CLOCK_THREAD_CPUTIME_ID
    Thread-specific CPU-time clock. 
EN

回答 2

Stack Overflow用户

发布于 2013-12-06 21:03:36

不幸的是,没有,clock_settime()没有更新实时时钟。

我见过人们在调用system("rtc -s hw");以强制进行RTC更新之后使用clock_settime()

票数 0
EN

Stack Overflow用户

发布于 2020-10-08 10:09:33

简短回答:

是否clock_settime()写入RTC是未指定的,因此实现特定的

长答案:

调用clock_settime(CLOCK_REALTIME,.)保证设置操作系统的系统时钟,这是内核中的一个软件时钟。没别的了。

  • 操作系统可以在关机时将系统时钟写入RTC。(vxWorks)
  • 操作系统可以定期将系统时钟写入RTC,例如每11分钟一次。(可能的Linux配置)
  • 操作系统可以实现RTC漂移补偿。设置RTC会产生意想不到的结果。(带有adtimex的Linux)

底线:在设置RTC之前,了解一下在您的平台上是如何实现的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15860421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档