gpt4 book ai didi

macos - 从 Pyserial 读取串行输出不能可靠地工作

转载 作者:行者123 更新时间:2023-12-04 16:06:36 27 4
gpt4 key购买 nike

我正在使用 MacOS 上的代码打击连接到设备,并且在 100 次中,此代码只会连接 1 或 2 次并且没有响应(因为没有超时)其余时间。

ser = serial.Serial(port="/dev/xyz",timeout = None, baudrate=115200, parity = serial.PARITY_NONE, bytesize = serial.EIGHTBITS, stopbits = serial.STOPBITS_ONE)

def exitSer(ser):
print("Closing")
ser.close()

atexit.register(exitSer, ser)

if ser.is_open:
time.sleep(2)
while(1):
print(ser.readline().decode("utf-8"))

你能告诉我如何使用fcntl等程序来查找这个端口是否完全免费并且可以使用,以及如何在强制释放端口后将tty端口的标志设置为空闲。

一旦成功,我必须运行这个多线程,其中每个线程都在运行不同的设备,期望按行输出。任何建议,以防万一。

最佳答案

def startSerial(tty_id):
ser = serial.Serial(port = tty_id, timeout = None)
ser.close()
ser.open()
if ser.isOpen():
print(ser.portstr, ":connection successful.")
return ser
else:
return False

在 .open() 之前调用 ser.close() 修复它。我测试了大约 200 次,到目前为止我还没有失望。我现在正在多线程中测试它,希望它也能工作。

谢谢大家。

关于macos - 从 Pyserial 读取串行输出不能可靠地工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39714730/

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