1

我和我的团队正在设计一个项目,该项目需要检测方波的上升沿,然后使用 time.time() 将时间存储在变量中。如果将相同的方波提供给 RPi 的 3 个不同引脚,则事件检测应用在每个引脚上,理论上它们应该同时发生,但是它们有一个延迟,这也会导致相位差异(我们是从时间计算相位)。我们得出的结论是 time.time() 是一个缓慢的函数。谁能帮助我了解使用哪个函数来获得比 time.time() 更精确的 SOC?或者请向我提供函数 time.time() 背后的编程。我会很感激的。

4

1 回答 1

0

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

您可以尝试使用time.clock_gettime(time.CLOCK_REALTIME)which 提供纳秒级分辨率(假设底层硬件/操作系统提供)。结果仍然像time.time.

也可以加载libc共享对象并clock_gettime使用ctypes模块调用本机。通过这种方式,您可以访问操作系统提供的实际纳秒计数。(ctypes不过,使用的学习曲线相当陡峭。)

于 2016-09-02T18:46:51.053 回答