5

我有一个简单的 Python 代码,它通过串行端口使用串行通信连接到 Arduino 板。

我正在使用 Python 库“pyserial”。是Python2.7

我创建一个连接基本上是在做类似的事情

 ser = serial.Serial("/dev/ttyACM0", 115200)

在此之后,我使用 serial.write 向我的 arduino 板发送命令。我有一个自制固件,可以读取命令并移动一些电机。

该代码正在运行,目前正在运行。虽然我每天连接和断开几次以使用我的机器人做事。我总是冲洗所有东西(serial.flush)。在某些时候它只是失败了。它似乎连接,但没有执行任何操作。就像在某些时候串行端口已损坏。

重新启动计算机后,一切正常。

知道如何在不重新启动计算机的情况下修复它吗?

拔下 USB 电缆不起作用。

4

1 回答 1

1

我遇到的一个问题是我没有关闭串行连接:

ser.close()

这导致python进程没有关闭并阻止对串行连接的任何访问。可能是因为 pyserial 在后台启动了一个线程,所以它可以防止进程死亡。

于 2013-11-20T20:36:15.550 回答