gpt4 book ai didi

linux - 如何从 Linux 中的用户空间获得毫秒级精度的正常运行时间?

转载 作者:太空宇宙 更新时间:2023-11-04 04:13:41 26 4
gpt4 key购买 nike

我正在开发一个基于 Raspberry Pi 的项目,该项目有一个 GPS 模块,我的老板希望我从中获取系统时钟的时间。然而,我们还需要在不同的传感器上获取读数,而 GPS 可能无法修复,并且我们需要知道获取这些读数的时间,精度为毫秒(50-100 毫秒的容差即可)。

我个人想要一个硬件 RTC 来解决这个问题,但我被指示要解决这个问题。我的想法是用系统启动后的相对时间来标记每个读数,系统时间不可靠,并在可用时通过 NTP/卫星时间进行更新(然后我可以使用相对时间在同步时间可用时修复记录)。

那么,如何从用户空间 C 代码获得 Linux 中毫秒级的精确正常运行时间?像内核中可用的 jiffies 值之类的东西将是完美的。

最佳答案

我认为你必须检查主板上的主 Controller (CPU)。通常,CPU 中会集成硬件定时器模块,或者 CPU 内核中的递减寄存器实现。

如果你的CPU上有硬件定时器或DEC寄存器,那么用它来实现周期性中断(频率可以是1000HZ或其他)。中断处理程序可以通知/唤醒用户空间进程以执行必要的实时工作。

关于linux - 如何从 Linux 中的用户空间获得毫秒级精度的正常运行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17855617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com