我正在尝试打开与 Lego EV3 积木的连接,其串行端口是 /dev/tty.EV3-SerialPort,我在 mac 10.6.8 上。执行此操作时资源繁忙,但是当我使用其他 API 进行连接(不通过 pyserial 写入串行端口)时,它不会显示错误。我想找到一种方法来解决这个错误。为什么它很忙,所有其他蓝牙应用程序都被禁用。这是我的代码:
测试.py:
import serial
import time
ser = serial.Serial('/dev/tty.EV3-SerialPort', 19200, timeout=1) # open first serial port
ser.close()
ser.open()
time.sleep(1)
ser.close()
print "closed"
这是它输出的错误:
File "test.py", line 7, in <module>
ser.open()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/serial/serialposix.py", line 289, in open
self.fd = os.open(self.portstr, os.O_RDWR|os.O_NOCTTY|os.O_NONBLOCK)
OSError: [Errno 16] Resource busy: '/dev/tty.EV3-SerialPort'
一个弹出窗口也显示自己说:
A Bluetooth serial failure has occurred.
Failed to open an RFCOMM serial channel.
Check if authentication needs to be enabled in your device