我有一个 Arduino Uno 通过 USB 连接到我的 Ubuntu PC(中间有一个 USB 集线器)。
我运行一个通过串行通信的程序,然后使用端口/dev/ttyACM0
虽然不稳定,但运行良好,Arduino 时不时会突然更改为\dev\ttyACM1
,导致代码崩溃。我可以更改代码中的端口并重新启动。然后它会运行良好,直到 Arduino 决定返回/dev/ttyACM0
。
我不知道原因,更不知道解决办法。有人能帮忙吗?
答案1
可能会发生不同的情况:
- 每次连接时,Arduino 都会获得一个新的 USB 端口。在这种情况下,解决方案是为连接创建一个符号链接。这是使用 完成的
udev
。 - Arduino 随机更改 USB 端口,无需物理拔出或重新启动计算机。使用
udev
也会有所帮助,但需要进一步调试才能了解 Arduino 首先断开连接的原因。使用udev
规则可能足以解决问题,但也可能不够(例如,如果断开连接后 Arduino 挂起)。