Arduino Leonardo - “avrdude:butterfly_recv():程序员没有响应”

yag*_*man 4 upload arduino

我在将新代码上传到 Arduino Leonardo 板时遇到问题。这发生在上传以前的错误代码(例如,数组超出范围索引错误)之后。一旦我修复了错误代码,我就可以将它上传到另一个硬件单元,但不是以前有错误代码的同一单元。

我正在使用Microduino并尝试重置硬件(通过将 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
Run Code Online (Sandbox Code Playgroud)

yag*_*man 15

这是通过在我点击上传按钮后快速按下重置按钮来解决的!

  • 哈哈,真的,这是唯一对我有用的东西!干杯男人 (2认同)

小智 6

这可能是由于 Leonardo/Micro 引导加载程序的工作方式(上传器等待新的串行端口出现,假设它是引导加载程序)。

官方的建议是按住板上的reset,点击上传,等待代码编译完成,状态栏显示“Uploading...”,然后松开板上的reset按钮。

请参见此处:https : //www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc6