前几天我做了一个很棒的程序,我想将其上传到我的Arduino。点击上传按钮后,一个名叫avr的卑鄙小伙子来阻止我,说:
avrdude:stk500_getsync():不同步:resp = 0x00
所有我想做的只是上载我的程序,但AVR不会让我。他甚至说不清,所以有人可以告诉我他想说什么,如何摆脱他吗?
即:
每当我尝试将程序上传到Arduino时,都会收到以下错误消息:
avrdude:stk500_getsync():不同步:resp = 0x00
这是什么意思,我该如何解决?
前几天我做了一个很棒的程序,我想将其上传到我的Arduino。点击上传按钮后,一个名叫avr的卑鄙小伙子来阻止我,说:
avrdude:stk500_getsync():不同步:resp = 0x00
所有我想做的只是上载我的程序,但AVR不会让我。他甚至说不清,所以有人可以告诉我他想说什么,如何摆脱他吗?
即:
每当我尝试将程序上传到Arduino时,都会收到以下错误消息:
avrdude:stk500_getsync():不同步:resp = 0x00
这是什么意思,我该如何解决?
Answers:
这是由您的计算机与Arduino之间的一般连接错误引起的,并且可能是由许多不同的特定问题引起的。
以下是一些常可解决此错误的简单方法:
Tools ► Board ►,例如,如果您使用的是Duemilanove 328,请选择该板而不是Duemilanove128。该板应说明微芯片上的版本。Tools ► Serial Port ►。确定这些端口位于哪个端口的一种方法是按照以下步骤操作:
Tools ► Serial Port ►查看列出的端口(例如COM4 COM5 COM14)。Tools ► Serial Port ►,查看哪个端口以前没有出现过。如果这些都不起作用,您将要尝试通过更换部件来解决问题:在同一台arduino上尝试另一台计算机,在同一台计算机上尝试另一台arduino,然后尝试使用另一条USB电缆。
如果问题出在计算机上:
如果问题出在Arduino上:
not in sync: resp=0x00实际上是一个通用的“ ATmega不响应”消息。任何可能导致ATmega不响应的事情都可能导致它。
另一个解决方法:
更改Tools->Processor->Atmega 328P为Atmega 328P (Old Bootloader)。提醒您,Processor只有在选择了某些特定的主板时,该选项才可用Tools>Board。
这适用于我的带有CH340的Arduino Nano,使用Linux Ubuntu 17.10下的Arduino IDE 1.8.5。此外,如果您使用IDE 1.8.9或更高版本,并且获得旧的或克隆的Nano,则可能会发生这种情况。
如果以上步骤均无效,请尝试重新安装Avrdude和avr-gcc编译器。我的Mega开始受此困扰后,我不得不这样做。
如果分别安装了Avrdude和avr-gcc,则只需将它们卸载。如果没有,您可能必须重新安装Arduino IDE。这些步骤将取决于您的操作系统。
我有同样的消息。每次通过选择正确的端口(例如“工具”然后“端口”下的USB)解决该问题。这是一个简单的步骤,但我总是忘记。我将拔下Arduino的电源以停止当前程序,将其重新插入计算机以上传新程序,并得到错误,崩溃,诅咒,只有那时,记住。
我有同样的问题。我尝试将IDE安装在另一台笔记本电脑上,并从该笔记本电脑上载了程序。问题解决了。然后我回到笔记本电脑上,卸载了IDE并重新安装它。
但是,我不满意,因为我找不到问题的根源...所以我尝试以完全相同的方式再次运行所有内容...我发现了问题,但不确定这是否可能是导致此问题的真正原因。
在我的项目中,我需要在arduino和MATLAB(GUI)之间进行串行通信。为了查看/验证MATLAB(GUI)串行数据的输出(类型),我使用了HYPERTERMINAL和VIRTUAL SERIAL PORT EMULATOR。我注意到,每次当我的串行监视器在其上运行超级终端或VSPE时,它都会破坏程序的上传功能。我不确定是否是因为VSPE或HYPERTERMINAL,但是重新安装IDE对我来说有效。
大量拔出插头后,检查端口,重新启动IDE等。似乎与Arduino Mega 2560修复此故障有所不同的是,卸载Windows USB arduino驱动程序,然后在此处重新安装它,并从列表中手动选择驱动程序并从列表中手动选择> com ports> arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows-7-64-bit.shtml 我可能有在我的Uno上对其进行了测试,然后返回大型市场,因此与Uno进行交流的机会很小,这使AVRDUDE感到高兴,但不太可能。
当我在上传到板上时遇到问题时,我会上传另一个程序,例如眨眼示例。这似乎重置了某些内容,然后我就可以上传自己的程序(很大)。
也许值得尝试一下,看看它是否适合您的情况,尽管我不知道为什么会起作用。
我的Uno董事会也遇到了类似的问题
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x90
尝试了许多方法
但以上所有方法均失败。
我使用Ubuntu 16.04.4 LTS 4.15.0-33-generic(在撰写此评论时)。CDC ACM模块未加载,因此未/dev/ttyACM0创建任何设备来选择Arduino IDE -> Tools -> Port
因此,获取并加载模块名称
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ sudo modprobe cdc-acm
上面的命令将插入所需的模块。现在我可以选择正确的端口并上传代码
在对我有用的各种解决方案中,希望这对某人也有所帮助。
我在具有Arduino Nano的Linux Mint 17.3笔记本电脑中遇到此错误avrdude:stk500_getsync():不同步:resp = 0x00
解决了:
在这种情况下,“老引导程序”似乎是诀窍。我现在都关心版本1.1.0和1.8.7。