2016-04-21 11 views
0

这个问题会有点模糊,我对此表示歉意。从串口写入时的时序问题

我有一个连接到串行端口和与之通信的Python脚本的系统。脚本运行系统,读取它输出的数据,用数据写入一个文件,停止系统并重复以前的一系列函数,进行定义次数的迭代。除了将数据从系统写入文件之外,脚本还会记录系统时间。理想情况下,系统的每个“运行”都应该生成均匀间隔(及时)的数据。我看了时间戳,并绘制了每个数据点之间的差异并得出了这个结果(Y轴是以mm为单位的时间:ss) Rate variation with iteration 我想以某种方式剖析每个迭代的一段代码,以找出原因那些闪光点存在。一些后台进程是否会导致这些异常?如果是这样,那么我该如何琢磨那些点上发生了什么?

回答

0

我会尽量提供一些关于如何在家中的提示。不知道他们是否会帮助,但至少有一些工作。 首先,我会尝试解决,如果它是python脚本或连接系统,偶尔起作用。来自sysinternals的 Portmon 在这里可能会有很好的帮助。如果你在窗户上。 由此你可以看到在串口上发送和接收的内容。要么您有请求响应类型的协议,并且脚本请求来自系统的块。如果你请求出去,然后没有响应2秒,那么设备是我们的问题,而不是脚本或操作系统。如果布线或串口出现问题,您也可以在这里看到。

如果脚本是你的问题,它可以是任何东西。 Hickups定期接缝。你可以使用它来你的优势。如果你以半频率运行它。木虱是否经常出现一半?如果是这样,它与你制造多少次运行有关。也许是某种泄漏。当你重新开始时,你把所有事情都关闭了吗?你如何安排它?调度程序有多精确? 2秒不是那么长时间。 我不知道如何分析python,但是你可以随时写一个日志文件和一个时间戳,用于查找代码停止的每一步。 只是几个指针。希望它有帮助