比time.time()更好的东西?

时间:2016-09-02 18:08:00

标签: python time soc

我和我的团队正在设计一个项目,需要检测方波的上升沿,然后使用time.time()在变量中存储时间。如果相同的方波被赋予3个不同的RPi引脚并且事件检测应用于每个引脚,理论上,它们应该同时发生,但是它们具有导致相位差异的延迟(我们从时间计算相位)。 我们得出结论,time.time()是一个缓慢的函数。 任何人都可以请帮助我使用哪个函数来获得SOC比time.time()更精确? 或者请为我提供函数time.time()后面的编程。 我会非常感激的。

1 个答案:

答案 0 :(得分:0)

time.time在支持它的平台上使用gettimeofday。这意味着它的分辨率是以微秒为单位。

您可以尝试使用提供纳秒分辨率的time.clock_gettime(time.CLOCK_REALTIME)(假设底层硬件/操作系统提供了这一点)。与time.time一样,结果仍然会转换为浮点数。

还可以使用libc模块加载clock_gettime共享对象并调用本机ctypes。这样,您就可以访问操作系统提供的实际纳秒数。 (尽管使用ctypes有一个相当陡峭的学习曲线。)