gpt4 book ai didi

Python:尝试打开串行导致IOError:[Errno 6]设备未配置

转载 作者:行者123 更新时间:2023-12-04 14:19:14 25 4
gpt4 key购买 nike

我尝试使用以下代码在 Python 中打开两个串行端口:

for i in range(0, 2):
if platform.system() == "Darwin":
pos = 2+i
else:
pos = i
port = serial.Serial(current_ports[pos], BAUD_RATE, timeout=TIMEOUT)
time.sleep(1.516)
port.write('#')
time.sleep(1.516)
out = ''
print "Reading MAC Address...."
while port.inWaiting() > 0:
out += port.read(1)
print out
if out == '04:E9:E5:00:EC:51':
led_port = port
elif out == '04:E9:E5:01:0C:E0':
matrix_port = port

有时端口会成功打开,有时则不会。当他们不这样做时,我收到此错误消息:
Reading MAC Address....
Traceback (most recent call last):
File "animation.py", line 227, in <module>
main()
File "animation.py", line 208, in main
led_port, matrix_port = get_ports()
File
"/Users/collinschupman/Documents/FutureCities/MurmurWall/Onsite/Raspi/helper_functions.py", line 41, in get_ports
while port.inWaiting() > 0:
File "/Library/Python/2.7/site-packages/serial/serialposix.py", line 449, in inWaiting
s = fcntl.ioctl(self.fd, TIOCINQ, TIOCM_zero_str)
IOError: [Errno 6] Device not configured

如您所见,它进入 inWaiting() 调用,然后抛出此错误。

作为一点引用,该代码正在向几个 Arduinos 发送消息,以便它们可以通过其 MAC 地址进行识别。

有什么明显不正确的我在做 Python 端会导致这个设置偶尔失败吗?我想说这段代码现在有 50% 的时间有效。

谢谢,

科林

最佳答案

Arduinos 的串口上是否有运行 getty 进程?或者甚至在连接到 Arduinos 的本地机器的串行端口上?如果是这样,它可能会产生干扰,应该停止。这是一个可能相关的引用:http://codeandlife.com/2012/07/29/arduino-and-raspberry-pi-serial-communication/

关于Python:尝试打开串行导致IOError:[Errno 6]设备未配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28754971/

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