Dr *_*ban 5 python usb serial-port arduino pyserial
我有一个简单的 Python 代码,它通过串行端口使用串行通信连接到 Arduino 板。
我正在使用 Python 库“pyserial”。它是Python2.7
我创建了一个连接,基本上是在做类似的事情
ser = serial.Serial("/dev/ttyACM0", 115200)
Run Code Online (Sandbox Code Playgroud)
在此之后,我使用 serial.write 向我的 arduino 板发送命令。我有一个自制的固件,可以读取命令并移动一些电机。
此代码正在运行,目前正在运行。虽然我每天连接和断开几次连接和我的机器人做一些事情。我总是刷新所有东西(serial.flush)。在某些时候,它只是失败了。它似乎连接,但没有执行任何操作。就像在某个时候串行端口损坏了一样。
一旦我重新启动计算机,一切正常。
知道如何在不重新启动计算机的情况下修复它吗?
拔下 USB 电缆不起作用。
我遇到的一个问题是我没有关闭串行连接:
ser.close()
Run Code Online (Sandbox Code Playgroud)
这导致 python 进程没有关闭并阻止对串行连接的任何访问。pyserial 可能会阻止进程死亡,因为它在后台启动了一个线程。
| 归档时间: |
|
| 查看次数: |
1695 次 |
| 最近记录: |