我在这里寻求一些高级别的建议。我正在使用 Python 绘制通过串行不断接收的数据。同时,我希望用户能够通过提示(例如 Python shell)输入数据。然后,该数据将通过同一串行端口发送,以与也发送数据的设备通信。
我的问题是绘图 app.MainLoop()“线程”似乎被阻塞,并且在窗口关闭之前它不会显示我的 raw_input 部分。我也尝试将这 4 行放在我的 while 循环中,但发生了同样的问题 - 它让我输入所有信息一次,但一旦开始绘图,它就会永远阻塞,直到我关闭绘图窗口。
if __name__ == '__main__':
app = wx.App()
window = DataLoggerWindow()
window.Show()
app.MainLoop()
prompt_counter = "main"
while(1):
if prompt_counter == "main":
ans = raw_input("Press f for freq, press a for amplitude: \n")
if ans == "f":
prompt_counter = "freq"
elif ans == "a":
prompt_counter = "amp"
else:
prompt_counter = "main"
elif prompt_counter == "freq":
freq = raw_input("Enter the frequency you want to sample at in Hz: \n")
ser.write("f"+freq+"\n")
prompt_counter = "main"
elif prompt_counter == "amp":
amp = raw_input("Type in selection")
ser.write("a"+amp+"\n")
prompt_counter = "main"
绘图部分所做的只是读取串行端口,并打印接收到的数据。这两个部分分别与后端的设备一起工作。所以我很确定这是我如何编写 Python 代码的问题,但我不确定为什么....有什么想法吗?