我在向Arduino Leonardo电路板上传新代码时遇到问题。这在上传前一个错误代码(例如,数组超出范围索引错误)之后发生。一旦我修复了错误的代码,我就可以将它上传到另一个硬件单元,但不是以前有错误代码的单元。
我正在使用Microduino(http://wiki.microduinoinc.com/Microduino-Module_CoreUSB),我尝试重置硬件(通过将GND连接到RST引脚),但我仍然无法上传新代码。有谁知道如何解决这一问题?请参阅下面的详细输出日志
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino IDE for Microduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM5
Using Programmer : avr109
Overriding Baud Rate : 57600
AVR Part : ATmega32U4
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 9000 9000 0x00 0x00
flash 65 6 128 0 yes 32768 128 256 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : butterfly
Description : Atmel AppNote AVR109 Boot Loader
Connecting to programmer: .
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: sorry no info avail
avrdude: butterfly_recv(): programmer is not responding
答案 0 :(得分:1)
点击上传按钮后,通过快速按下重置按钮解决了这个问题!
答案 1 :(得分:0)
这可能与Leonardo / Micro引导加载程序的工作方式有关(上载程序等待新的串行端口出现,并假定它是引导加载程序)。 官方建议是按住开发板上的reset键,单击“上传”,等待代码编译,并在状态栏上说“ Uploading ...”,然后释放开发板上的reset按钮。 看到这里:https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc6
答案 2 :(得分:0)
我的 pro micro(使用 Arduino 类型 Leonardo)遇到了这个问题,最终通过不插入我的 USB 集线器并直接插入我的 PC 来解决它。