gpt4 book ai didi

python - 在 Python 中 5 秒后停止等待串行响应

转载 作者:行者123 更新时间:2023-12-01 00:19:05 24 4
gpt4 key购买 nike

我试图从串行端口获得响应,但有时会没有。这使得我的脚本永远等待,因此我必须杀死它。

是否有一种简单方法让我的代码等待例如 5 秒,如果没有响应则继续执行脚本?

我的代码如下所示:

import serial
ser = serial.Serial('COM3', 9600)

test = '2ho0'

ser.write(str.encode(test))
data = ser.readline()
print(data)

我已经尝试过this解决方案,但在打印 5 次 Hello world 后它并没有停止。相反,它会继续写入 Hello World,直到我收到运行时错误

超过herehere我尝试了很多答案,但也没有成功。

编辑:我想知道是否可以有类似的东西:

ser.serialReplyAvailable()

这也适合我。

感谢您的建议。

最佳答案

您可以指定一个读取超时,这将使 ser.readline() 要么在请求的数据可用时立即返回,要么返回超时之前读取的任何内容。检查 pySerial 文档,那里有更多内容。

ser = serial.Serial('COM3', 9600, timeout=5)

关于python - 在 Python 中 5 秒后停止等待串行响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59085969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com