在Linux PPS文档中说:
PPS表示“每秒脉冲数”,而PPS信号源只是一种 每秒提供高精度信号,从而使应用 可以用来调整系统时钟时间。
但是我还没有找到如何调整系统时钟计时器(hwclock)的方法。 我宁愿不以最简单的方式使用ntp来使系统计时器与PPS同步。
是否可以从PPS调整系统计时器(不使用ntp)?
我也不太了解pps时间,可以使用time_pps_fetch
命令从用户空间读取pps时间(请参阅ppstest.c示例)
如果linuxpps是仅“每秒脉冲数”的时钟,它如何提供纳秒分辨率?
答案 0 :(得分:0)
好吧,您的系统中需要一个pps设备(例如/ dev / pps0)。
如果您已经将PPS源(例如gps接收器)连接到串行接口,则可以通过 ldattach 命令(例如' sudo ldattach pps / dev / ttyS0 ')来实现。端口(/ dev / ttyS0)。之后,您可以将/ dev / pps0作为设备路径提供给time_pps_fetch函数。或控制台应用程序 pps_test 。您可以阅读更详细的说明(使用udev的规则,通过systemd服务自动启动)here。
我希望它会对您有所帮助;)
答案 1 :(得分:0)
最简单的解决方案是在需要将系统时钟连接到PPS时使用ntpd。
任何其他选择都需要使用adjtimex()编写实现。