Time 树莓皮皮秒计时器

Time 树莓皮皮秒计时器,time,microcontroller,micropython,raspberry-pi-pico,Time,Microcontroller,Micropython,Raspberry Pi Pico,一般来说,我对Micropython和微控制器都是新手。我正在尝试创建一个脚本,在一个Raspberry Pi Pico上运行,该脚本使用两个时间变量time1=utime.time\n()和time2=utime.time\n(),然后从time1中减去time2,以纳秒精度计算两个时间之间的差。当尝试执行此操作时,它以纳秒为单位打印出值,四舍五入到秒。。。例如,如果两个时间间隔为5秒,则返回的值为5000000000。。。有没有办法让我得到更准确的时间?我走错方向了吗?谢谢你 MicroPy

一般来说,我对Micropython和微控制器都是新手。我正在尝试创建一个脚本,在一个Raspberry Pi Pico上运行,该脚本使用两个时间变量
time1=utime.time\n()
time2=utime.time\n()
,然后从time1中减去time2,以纳秒精度计算两个时间之间的差。当尝试执行此操作时,它以纳秒为单位打印出值,四舍五入到秒。。。例如,如果两个时间间隔为5秒,则返回的值为5000000000。。。有没有办法让我得到更准确的时间?我走错方向了吗?谢谢你

MicroPython页面解释了
time\u ns()
的绝对时间与
ticks\u us()的相对时间之间的差异。它们最好用于不同的目的,可能使用不同的资源。从这里的例子中,您可以尝试以下方法

start=time.ticks\u us()
...
end=time.ticks_us()
usecs=时间。滴答声(结束,开始)
正如页面所解释的,这不能用于测量长时间,例如超过1秒或2秒,具体取决于实现,分辨率不会是纳秒,最多是微秒。

MicroPython页面解释了绝对时间与
时间之间的差异
和来自
滴答声的相对时间(
)。它们最好用于不同的目的,可能使用不同的资源。从这里的例子中,您可以尝试以下方法

start=time.ticks\u us()
...
end=time.ticks_us()
usecs=时间。滴答声(结束,开始)

正如页面所解释的,这不能用于测量长时间,例如超过1秒或2秒,具体取决于实现,分辨率不会是纳秒,最多是微秒。

我不确定我是否理解这个问题……5秒是5000000000纳秒。您期望得到什么样的结果?您是对的,但是该值总是向上舍入到刚才以纳秒表示的秒数。我想得到一个精确的时间,所以一个更好的例子是,如果两次之间有5.3456秒,结果仍然等于5000000000。。。它是四舍五入而不是告诉我确切的时间。这更有意义吗?谢谢直接使用计时器,而不是一些库。如果对准确性和性能感兴趣,那么不要使用micropython。更大的问题是,你想用这个测量来做什么?芯片中是否有这样的功能?纳秒精度至少需要一个GHz时钟,皮秒的最大频率为133MHz。我不确定我是否理解这个问题…5秒就是5000000000纳秒。您期望得到什么样的结果?您是对的,但是该值总是向上舍入到刚才以纳秒表示的秒数。我想得到一个精确的时间,所以一个更好的例子是,如果两次之间有5.3456秒,结果仍然等于5000000000。。。它是四舍五入而不是告诉我确切的时间。这更有意义吗?谢谢直接使用计时器,而不是一些库。如果对准确性和性能感兴趣,那么不要使用micropython。更大的问题是,你想用这种测量方法做什么?芯片中是否有一种功能可以为你做到这一点?纳秒精度至少需要一个GHz时钟,皮秒最大频率为133MHz。太棒了,非常感谢你。这为我指明了正确的方向,我能够完成我想要做的事情。装载到皮科上的uf2对get使用的时间版本有影响吗?抱歉,如果这是个愚蠢的问题太棒了,非常感谢你。这为我指明了正确的方向,我能够完成我想要做的事情。装载到皮科上的uf2对get使用的时间版本有影响吗?对不起,如果这是个愚蠢的问题