Arduino USB 端口随机消失如何恢复?

How do I recover when Arduino USB Port randomly disappears?

我正在远程使用我的计算机,并且有一个 Arduino Every 连接到一个供电的 USB 3.0 集线器。不管怎样,Arduino 是硬件工具的一部分,可以为我做一些好事。我通过 COM 端口与它通信。

问题是有时几天甚至几周后,Arduino 的 COM 端口就消失了。有什么方法可以在不拔掉 COM 端口的情况下恢复它吗?

有时重新启动计算机可以正常工作,但由于 Arduino 已插入有源 USB 集线器,因此在计算机重置期间它不会断电,因此它不会自行重置并且 COM 端口不显示向上。

这在我使用 Arduino Nano 仿制品时经常发生。我转而使用 Genuine Arduino Every 设备,在过去的几个月里这一直不是问题。然而,我现在又看到它发生了。

有没有人有解决这个问题的方法,或者这只是 Arduino 一次连接 weeks/months 时不时发生的事情?

所以,我用 char[] 替换了 String 的所有用法,问题仍然存在。

终于上网买了一张内置PCI-E的7口USB扩展卡。我 2 周前开始使用它,从那以后就再也没有遇到过问题。内部卡的另一个好处是,当我重新启动计算机时,卡会重新启动并强制所有 COM 端口 disconnect/reconnect。

我猜首先是外部 USB 集线器导致了问题,而内部卡更稳定。

更新 - 第 3 周后,我与我的几个 Nano Every 设备失去了联系。拔下并重新插入它们可以解决问题,但我需要它们不再出现该问题。我猜内部 PCI-E USB Hub 没有解决问题。也许如果我将 Every's 直接插入计算机标准 USB 端口可能会有所帮助。我会试试看...

更新 2 - 我最终购买了几个 wifi 墙上插头。现在,我可以远程拔掉我的电脑和远程拔掉 USB 集线器电源。我只是远程 'Shut Down' 我的电脑,然后远程关闭它几分钟,然后关闭 USB 集线器几分钟。然后我启动计算机(我将它的 BIOS 设置为 power-cycle 时自动启动),启动后,我启动 USB 集线器并再次识别所有设备。有时,我只需 power-cycle USB HUB 即可让 COM 端口再次可见。这很痛苦,但除非有人想出更好的主意,否则我就是这样做的...