Arduino Mega超时通讯与程序员错误


10

我有一个Arduino Mega 2560,它工作正常,直到午饭时间才开始出现此错误:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

我知道这不是我正在运行的代码,因为我试图将其加载到Uno上,并且似乎加载没有问题。我需要使用Mega,因为它具有更多端口。

根据我的阅读,这可能是引导加载程序的问题,并且可能与Arduino的当前版本有关。我对引导程序几乎一无所知。我所知道的是,它用于将代码上传到Arduino(我认为...),因此我担心会在不知不觉中弄乱相关文件。

这些页面是我一直在查看的页面,但是就像我说的那样,我真的不了解让自己乱七八糟地摆弄文件。

我尝试完全卸载Mega,然后重新安装。我还下载了旧版本的Arduino(0022),但两个选项似乎都不起作用。

我不知道该怎么办,或者在必要时如何更改“ AVR”文件。



哦,我没注意到那个帖子。除了刻录引导程序外,我已经尝试了所有方法...是否有一种简单的方法无需购买软件即可执行此操作?
bladepanthera 2014年

通常,您只需转到IDE,在“工具”菜单下,选择“刻录Bootloader”即可。确保首先选择正确的板。
TheDoctor 2014年

@TheDoctor,我已经看到了该选项,但是我不知道之后该怎么做。我想我必须使用新的“ bootloader”程序再次加载它?一个站点(learning.sparkfun.com/tutorials/installing-an-arduino-bootloader)说我需要购买硬件并下载特定的软件...全部以替换Bootloader上的软件吗?我不确定我为什么。
bladepanthera 2014年

1
您可以使用Uno重新编程Mega。查找ArduinoISP
microtherion 2014年

Answers:


3

arduino上的引导程序只是编写的一个软件,使您能够使用usb连接更新草图。没有引导加载程序,您将无法仅使用arduino ide上传草图。

有关引导加载程序的更多信息,请参见:http : //arduino.cc/en/Guide/Environment? from = Tutorial.Bootloader查看标题为“ uploading”的标题下的内容,该标题说明了引导加载程序在上载草图中所起的作用。

当您使用arduino ide中的“ Burn Bootloader”按钮时,它将尝试将Bootloader的新副本写入连接的Arduino板上。为此,必须以特定方式连接开发板-即使用icsp / isp接头连接器而不是usb电缆。

现在,要直接对AVR芯片进行编程,您必须使用外部(硬件)编程器。幸运的是,如果您有第二个arduino,则不必购买一个,因为第二个arduino可以用作程序员。这样做的说明可以在这里找到:http : //arduino.cc/en/Tutorial/ArduinoISP

有关引导加载程序的更多信息:http : //arduino.cc/en/Hacking/Bootloader? from= Main.Bootloader


1

当我的Arduino COM端口忙于其他应用程序时,我遇到了同样的错误。我关闭该应用程序并上传Arduino草图,错误消失了。


0

不幸的是,此错误涉及许多不同的问题,在这里和其他平台上有如此多的帖子,都没有明确的答案。也许Arduino小组应该尝试给出更好的错误来区分。但是我试图在这篇SO帖子中回答同样的问题。

解决我的问题的方法是转到工具>板>板管理器...在左上角的“类型”中选择“可更新”,然后在下面选择可更新的软件包,然后单击“更新”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.