【发布时间】:2018-12-28 11:10:16
【问题描述】:
我是 Python 新手,尝试开发 gui 应用程序。我的数据源来自串口。当我按下按钮时,它应该绘制图形并将其打印在屏幕上并打印到新的 txt 文件。
我提到的以上所有内容都应该单独进行。
我的预期是:我怎样才能从同一资源同时运行保存数据和绘制多个图形
我使用了线程、time.sleep、wx.Timer。但我无法成功。任何人都可以帮助我吗?非常感谢。
【问题讨论】:
-
欢迎来到 SO!请提供您的代码,以便用户可以帮助您,请参阅例如stackoverflow.com/help/mcve。另请参阅 stackoverflow.com/help/how-to-ask 如何提出好问题。
-
从串行端口读取数据时,该进程有效地消耗了数据。该进程必须将
and绘图写入文本文件或绘图并存储或传递数据以供另一个进程写入文本文件。不能有 2 个进程从串口读取相同的数据。 -
我也照你说的做了:(1)存储(从串口)到一个列表,(2)绘制存储的数据,(3)用三个 wxTimer 写入 txt 并删除。但是在 2 分钟后使用 matplotlib 绘图时它会冻结。当我将递归限制扩展到最大值时,它只持续了 6 分钟,然后一切都被击落而没有给出任何错误。然而纽维尔的建议不同的情节类型是 wxmplot 作品。我不明白为什么 matplotlib 会冻结。
标签: python multithreading serial-port wxpython pyserial