Leonardo:在设备管理器中检测到但随后断开连接

时间:2013-05-04 20:26:28

标签: arduino

Arduino Leonardo中检测到Device Manager,但随后会断开连接。

所以,这就是我在做的事情。将Arduino Leonardo连接到我的笔记本电脑。它在设备管理器中被检测到(我也更新了驱动程序)。但是,我很快听到一声哔哔声,莱昂纳多被卸下了。如果我按下“重置”按钮,它会再次被检测到。但是,几秒钟后它再次断开连接。设备管理器显示消息

  

目前,此硬件设备未连接到计算机。 (守则45)

注意:几周前工作正常。我使用的是Windows 7。

5 个答案:

答案 0 :(得分:4)

看起来像leonardo软复位的问题,通常当你连接leonardo时,它出现在设备管理器上,如Ard ... bootloader(COMX),几秒钟,然后Leonardo出现在另一个COM端口。我知道,在你的情况下,只是dessappear。 尝试在arduino IDE中选择该端口,然后你必须尝试加载一些像blink.ino这样的草图,并同时按下重置按钮,然后当草图开始上传时释放de reset,tha适用于我,

答案 1 :(得分:4)

我有完全相同的问题。推动复位后,我的Arduino Micro首先被正常检测到。这是我的/ var / log / syslog的相应摘录(没有时间戳等):

usb 6-1: new full-speed USB device number 56 using uhci_hcd
usb 6-1: New USB device found, idVendor=2341, idProduct=0037
usb 6-1: New USB device strings: Mfr=2, Product=1, SerialNumber=0
usb 6-1: Product: Arduino Micro   
usb 6-1: Manufacturer: Arduino LLC
cdc_acm 6-1:1.0: ttyACM3: USB ACM device

但仅仅几秒钟后它就断开连接了:

usb 6-1: USB disconnect, device number 56

经过长时间的搜索后,我发现如何从这种致命的情况中恢复过来:

  • 通过USB线连接Arduino。
  • 打开Arduino IDE并加载" Blink"示例
  • 打开一个shell并输入:tail -f / var / log / syslog这是用于观察与/ dev / tty端口的Arduino相关联的
  • 现在你必须快速:重置Arduino,查看它获得的/ dev / tty端口,并在菜单Tools / Serial Port下的IDE中选择该端口。您必须在Arduino再次断开连接之前执行此操作,否则无法访问正确的菜单点。在获得之前,您可能需要进行一到两次尝试。那是困难的部分。
  • 再次按下Arduino上的重置,然后立即按下Arduino IDE中的上传按钮。
  • 你的Arduino应该在上传后不久启动blink程序并且已经治愈了#34;。

经过一番调查后,我发现了整个悲惨的原因:在一些被遗忘的文件遗忘的源代码中有一个main()函数(我曾在几周之前用Linux / g ++编写了一些测试)。编译器现在更喜欢使用main()而不是IDE环境中的标准main()。结果是USB断开连接,可能是因为原来的main()进行了一些现在缺少的初始化。

答案 2 :(得分:2)

确保没有任何内容(而不是USB电缆)连接到Arduino并重试。如果问题仍然存在,请尝试更换电缆并在另一个USB端口上进行测试。

还请尝试阅读帖子 Windows Not recognizing Uno 。如果您可以在设备管理器中看到Arduino几秒钟,请尝试重新安装驱动程序。驱动程序位于Arduino IDE文件夹中。

答案 3 :(得分:0)

由于我无法添加评论(未注册),我将在此处说明:

盖伊上面的解决方案有效。但是,设置正确的端口(在通过运行'tail -f / var / syslog'检测到它之后)可以以更简单的方式完成。您无需快速打开Tools->端口菜单,并在电路板复位后选择正确的端口。 (无论如何,在我的IDE中,即使重置电路板后端口也不会出现。)打开$ HOME / .arduino中的'preferences.txt'文件,并将'serial.port'设置为检测到的值。启动IDE并开始上传'blink'skecth。编译完成后按重置并开始上传。

注意:我在Xubunbtu Linux 64位,IDE版本2:1.0.5(来自Ubuntu存储库)上使用真正的Leonardo进行了测试。

答案 4 :(得分:0)

你知道那些ICSP“神秘”别针吗?拿一个UNO并将所需的“arduino作为程序员”代码加到它上面,将Leonardo连接到UNO,现在你可以编写Leonardo - 但是你将修改Leonardo的引导程序。在YDE中,转到“文件”并将鼠标移动到“使用arduino作为程序员上传”并享受你的乐趣。如果您采用这种方法,请不要购买Lilypad USB,因为它具有与Leonardo完全相同的32U4芯片,并且没有ICSP引脚。也就是说,除非你能将引脚焊接到6个孔中!