用于计算通过串行端口接收到的两个连续数据包之间的时间的 Python 脚本
我正在调试我的代码,我需要编写一个 python 脚本,该脚本可以读取通过蓝牙通过串行端口发送的数据,并计算每个连续数据包之间经过的时间。我知道如何从串行端口读取数据,但我计算每个数据包之间的时间时遇到问题。
任何建议都会非常有帮助。
谢谢!
I am debugging my code for which I need to write a python script that can read data being sent over the serial port through bluetooth and calculate the time elapsed between each successive packet.I know how to read the data from the serial port but I am having issues with calculating the time between each packet.
Any suggestions would be very helpful.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
像这样的东西可能会起作用。只需创建一个 IntTimer() 对象,并在收到数据包时对其调用 .stamp() 即可。这只是一个开始,所以如果它满足您的要求,那么您可能需要更改它以清理旧的时间戳等,否则 self.timestamps 只会不断增长。您可以使用 self.timestamps 来计算数据包之间的平均时间等。
这是一个非常简单的答案,所以如果您问一个更复杂的问题,请直接说出来。
Something like this might do the trick. Just create a IntTimer() object and call .stamp() on it whenever you receive a packet. It's just a start, so if it does what you want then you might need to change it to clean up the old stamps etc., otherwise self.timestamps will just grow and grow. You could use self.timestamps to work out average times etc. between packets.
This is quite a simple answer, so if you're asking a more complicated question then do say so.
为什么不使用 python
time
模块来计算时间差异?如果您需要更高的精度,您可以使用select
系统调用来实现您自己的计时器。但更好的解决方案是使用类似 Portmon
Why don't you use python
time
module to calculate time diff? If you need beter precision you can implement your own timer using theselect
system call.But a better solution is to use something like Portmon
我会使用 time.time() 并减去来找到经过的秒数。
I would use
time.time()
and subtract to find the number of seconds elapsed.这就是我写的并且有效。谢谢大家的回答。
So this is what I wrote and it worked.Thank you all for your answers.