从串行端口写入时的定时问题

时间:2016-04-21 23:01:29

标签: serial-port timing

这个问题有点模糊,我为此道歉。

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

1 个答案:

答案 0 :(得分:0)

我会尝试提供一些关于如何回家的提示。不知道他们是否会有所帮助,但至少可以使用。 首先,我会尝试理清它是蟒蛇脚本还是连接系统。 Portmon 来自sysinternals在这里可能会有很好的帮助。如果你在窗户上。 通过它,您可以准确地看到串行端口上发送和接收的内容。您有一个请求响应类型协议,脚本从系统请求块。如果您发出请求,然后在2秒内没有响应,则设备是我们的问题,而不是脚本或操作系统。如果布线或串口出现问题,您也可以在此处看到。

如果脚本是你的问题,它确实可以是任何东西。 hickups定期接缝。您可以利用它来获得优势。如果你以半频运行它。这些恐慌事件的发生频率是一半吗?如果是这样,它与你做了多少次跑步有关。也许是某种泄漏。你重新开始时关闭所有东西吗?你如何安排它?调度程序有多精确? 2秒不是很长时间。 我不知道如何分析python,但你总是可以写一个日志文件,其中包含你正在做的每一步的时间戳,以找到代码停止的地方。 只需几点。希望它有所帮助