在车间部署了十几个网络版的温湿度采集器(基于arduino的),这些采集器分布在不同的地方,现在要更新一下上面的固件。最笨的方法是一个一个地取下来,插到电脑的USB接口上进行固件更新,这样做显然很麻烦。能不能直接通过网络(以太网)进行固件的更新呢?

我查了一下资料,发现网上只有通过蓝牙更新的固件的,但是没有以太网的。低功耗的商用的蓝牙,其传输距离只有10米,且那个方法必须在板上进行手动复位。我研究了一下,发现了通过以太网刷新固件的方法,现跟大家分享一下。

1、原理:

(1)通过串口转wifi模块发送一个指令,让arduino复位。

(2)然后开始传送编译好的二进制文件,arduino在重启的时候,会将这个文件写入到flash中。avr固件的烧录原理请见:http://news.eeworld.com.cn/mcu/2013/0608/article_13291.html

2、硬件:

Arduino uno + 串口转wifi模块。

线路连接:2号IO口串联一个550k电阻接到reset上。

我所用的Wifi模块是在这家店买的:

http://item.taobao.com/item.htm?spm=a1z09.2.9.41.0CxtvI&id=36815717425&_u=blmt59h45fc

3、所需要工具软件:

(1)avrdude。版本013.9.18,在附件的bin文件夹下。这个程序可用来将编译好的二进制文件刷写(烧录)到arduino中,它需要用到串口。

(2)VSPM虚拟串口服务器,下载地地址:http://www.kinghwawin.com/DownloadShow.asp?ID=40。

这个软件的作用是将TCP服务器虚拟成本地的串口,用于跟avrdude配合使用,即提供一个串口给avrdude使用。下载完毕之后,请按默认路径安装。启动该程序,然后新建一个虚拟串口,将串口号设置为“COM256”。如图所示:

(3)TCP/UDP调试工具。此工具的作用是给远端的arduino控制器发送复位指令。

4、arduino代码

void setup()

{

    Serial.begin();

    pinMode(,OUTPUT);

    digitalWrite(, HIGH);   // switch off

}

void loop()

{

   if (Serial.available() > )

   {

       char val;

       val = Serial.read();     // read serial data

       if(val == 'r')

       {

          digitalWrite(, LOW);    // 将reset管脚的电平拉低50ms,起到复位的作用

           delay();

          digitalWrite(, HIGH); // 

      } 

  }

}

注:arduino中必须有以上的这些代码才能被远程刷新。请将这些代码嵌入到你的arduion中,然后用usb线刷新到arduino中。

5、在arduino编辑器中找到编译好的固件(.hex文件)

默认情况下,arduino会在后台将源码进行编译成二进制文件,然后下载到arduino控制器中,这个过程不会有提示。

可以通过一些方法来显示编译烧录的过程,并且提取hex文件,详细方法见链接:http://see.sl088.com/wiki/Arduino_%E6%8F%90%E5%8F%96hex

这个步骤完成之后,我们手头上就有了一个后缀名为hex的二进制文件。

附件中的bin文件夹下,有一个名为的Blink.cpp.hex文件,它是官方提供的例子编译之后的二进制文件,可以拿这个来做测试。

6、手工烧录

手工烧录是直接使用avrdude来进行烧录。avrdude是一个控制台程序,需要在命令行下进行操作。

(1)cd进附件中的bin文件夹下。

(2)使用TCP/UDP调试工具连接到TCP服务器,发送指令r,将arduino复位。

(3)马上执行以下命令:avrdude.exe avrdude.conf -v -v -v -v -patmega328p -carduino -P\\.\COM256 -b115200 -D -Uflash:w:Blink.cpp.hex:i

至于为什么知道是这个命令,我是通过分析arduino编辑器的编译及下载输出得出的,以下是arduino的编译下载时的输出(过程),请注意第43行。

 E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\WInterrupts.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WInterrupts.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\wiring.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\wiring_analog.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_analog.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\wiring_digital.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_digital.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\wiring_pulse.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_pulse.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\wiring_shift.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_shift.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\CDC.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\CDC.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\HardwareSerial.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\HardwareSerial.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\HID.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\HID.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\IPAddress.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\IPAddress.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\main.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\main.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\new.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\new.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\Print.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Print.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\Stream.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Stream.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\Tone.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Tone.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\Tone.cpp:: warning: only initialized variables can be placed into program memory area
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\USBCore.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\USBCore.cpp.o E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\WMath.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WMath.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\WString.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WString.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WInterrupts.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_analog.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_digital.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_pulse.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_shift.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\CDC.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\HardwareSerial.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\HID.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\IPAddress.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\main.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\new.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Print.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Stream.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Tone.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\USBCore.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WMath.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WString.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -Os -Wl,--gc-sections -mmcu=atmega328p -o C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.elf C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.o C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a -LC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp -lm
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom= C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.elf C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.eep
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-objcopy -O ihex -R .eeprom C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.elf C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex
Binary sketch size: bytes (of a byte maximum)
E:\电子学\arduino\arduino-1.0\hardware/tools/avr/bin/avrdude -CE:\电子学\arduino\arduino-1.0\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P\\.\COM18 -b115200 -D -Uflash:w:C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex:i avrdude: Version 5.11, compiled on Sep at ::
Copyright (c) - Brian Dean, http://www.bdmicro.com/
Copyright (c) - Joerg Wunsch System wide configuration file is "E:\电子学\arduino\arduino-1.0\hardware/tools/avr/etc/avrdude.conf" Using Port : \\.\COM18
Using Programmer : arduino
Overriding Baud Rate :
avrdude: Send: [] []
avrdude: Send: [] []
avrdude: Send: [] []
avrdude: Recv: . []
avrdude: Recv: . []
AVR Part : ATMEGA328P
Chip Erase delay : us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout :
StabDelay :
CmdexeDelay :
SyncLoops :
ByteDelay :
PollIndex :
PollValue : 0x53
Memory Detail : Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom no 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash yes 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse no 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse no 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
efuse no 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock no 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration no 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature no 0x00 0x00 Programmer Type : Arduino
Description : Arduino
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
Hardware Version:
Firmware Version: 4.4
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: B [] . [] . [] . [] . [] . [] . [] . [] . [] . [ff] . [ff] . [ff] . [ff] . [] . [] . [] . [] . [] . [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: E [] . [] . [] . [d7] . [c2] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: P [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: AVR device initialized and ready to accept instructions Reading | avrdude: Send: u [] []
avrdude: Recv: . [] . [1e] . [] . [0f] . []
################################################## | % .00s avrdude: Device signature = 0x1e950f
avrdude: Send: V [] . [a0] . [] . [fc] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: V [] . [a0] . [] . [fd] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: V [] . [a0] . [] . [fe] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: V [] . [a0] . [] . [ff] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: reading input file "C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex"
avrdude: writing flash ( bytes): Writing | avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [0c] . [] a [] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] . [9a] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [] . [] . [] . [] $ [] . [] ' [27] . [00] * [2a] . [00] . [00] . [00] . [00] . [00] % [25] . [00] ( [28] . [00] + [2b] . [00] . [00] . [00] . [00] . [00] [20]
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] @ [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] # [] . [] & [] . [] ) [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] [] @ [] . [] . [] . [] . [] . [] . [] [] . [] . [] . [] . [] . [] [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] $ [] . [1f] . [be] . [cf] . [ef] . [d8] . [e0] . [de] . [bf] . [cd] . [bf] . [] . [e0] . [a0] . [e0] . [b1] . [e0] . [e2] . [e0] . [f4] . [e0] . [] . [c0] . [] . [] . [0d] . [] . [a0] [] . [b1] . [] . [d9] . [f7] . [] . [e0] . [a0] . [e0] . [b1] . [e0] . [] . [c0] . [1d] . [] . [a9] [] . [b1] . [] . [e1] . [f7] . [0e] . [] . [f0] . [] . [0c] . [] . [ff] . [] . [0c] . [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [8d] . [e0] a [] . [e0] . [0e] . [] . [9c] . [] h [] . [ee] s [] . [e0] . [] . [e0] . [] . [e0] . [0e] . [] . [e2] . [] . [8d] . [e0] ` [] . [e0] . [0e] . [] . [9c] . [] h [] . [ee] s [] . [e0] . [] . [e0] . [] . [e0] . [0e] . [] . [e2] . [] . [] . [] . [8d] . [e0] a [] . [e0] . [0e] . [] v [] . [] . [] . [] . [1f] . [] . [0f] . [] . [0f] . [b6] . [0f] . [] . [] $ [] / [2f] . [] ? [3f] . [] . [8f] . [] . [9f] . [] . [af] . [] . [bf] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] [] . [] . [] . [] . [] . [] . [a1] . [1d] . [b1] . [1d] # [] / [2f] - [2d] _ [5f] - [2d] [] [] . [f0] - [2d] W [] . [] . [] . [a1] . [1d] . [b1] . [1d] [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [c0] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [] . [] . [a1] . [1d] . [b1] . [1d] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [bf] . [] . [af] . [] . [9f] . [] . [8f] . [] ? [3f] . [] / [2f] . [] . [0f] . [] . [0f] . [be] . [0f] . [] . [1f] . [] . [] . [] . [9b] . [] . [ac] . [] . [7f] . [b7] . [f8] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] f [] . [b5] . [a8] . [9b] . [] . [c0] o [6f] ? [3f] . [] . [f0] . [] . [] . [a1] . [1d] . [b1] . [1d] . [7f] . [bf] . [ba] / [2f] . [a9] / [2f] . [] / [2f] . [] ' [27] . [86] . [0f] . [91] . [1d] . [a1] . [1d] . [b1] . [1d] b [62] . [e0] [20]
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [] . [0f] . [] . [1f] . [aa] . [1f] . [bb] . [1f] j [6a] . [] . [d1] . [f7] . [bc] . [] - [2d] . [c0] . [ff] . [b7] . [f8] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [e6] . [b5] . [a8] . [9b] . [] . [c0] . [ef] ? [3f] . [] . [f0] . [] . [] . [a1] . [1d] . [b1] . [1d] . [ff] . [bf] . [ba] / [2f] . [a9] / [2f] . [] / [2f] . [] ' [27] . [8e] . [0f] . [91] . [1d] . [a1] . [1d] . [b1] . [1d] . [e2] . [e0] . [88] . [0f] . [99] . [1f] . [aa] . [1f] . [bb] . [1f] . [ea] . [95] . [d1] . [f7] . [86] . [1b] . [97] . [0b] . [88] ^ [5e] . [93] @ [40] . [c8] . [f2] ! [21] P [50] 0 [30] @ [40] @ [40] @ [40] P [50] @ [40] h [68] Q [51] | [7c] O [4f] ! [21] . [15] 1 [31] . [05] A [41] . [05] Q [51] . [05] q [71] . [f6] . [08] . [95] x [78] . [94] . [84] . [b5] . [82] ` [60] . [84] . [bd] . [84] . [b5] [20]
avrdude: Recv: . []
avrdude: Recv: . []
#######avrdude: Send: U [] @ [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [] ` [] . [] . [bd] . [] . [b5] . [] ` [] . [] . [bd] . [] . [b5] . [] ` [] . [] . [bd] . [ee] . [e6] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e1] . [e8] . [f0] . [e0] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [e0] . [e8] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e1] . [eb] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e0] . [eb] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [ea] . [e7] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] h [] . [] . [] . [] . [] . [c1] . [] . [] . [] H [] / [2f] P [] . [e0] . [ca] . [] . [] V [] . [9f] O [4f] . [fc] . [] $ [] . [] J [4a] W [] _ [5f] O [4f] . [fa] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [] . [] . [] # [] . [c1] . [f0] . [e8] / [2f] . [f0] . [e0] . [ee] . [0f] . [ff] . [1f] . [e8] Y [] . [ff] O [4f] . [a5] . [] . [b4] . [] f [] # [] A [] . [f4] . [9f] . [b7] . [f8] . [] . [8c] . [] [] . [] . [] # [] . [8c] . [] . [9f] . [bf] . [] . [] . [9f] . [b7] . [f8] . [] . [8c] . [] . [] + [2b] . [8c] . [] . [9f] . [bf] . [] . [] H [] / [2f] P [] . [e0] . [ca] . [] . [] U [] . [9f] O [4f] . [fc] . [] $ [] . [] . [ca] . [] . [] V [] . [9f] O [4f] . [fc] . [] . [] . [] J [4a] W [] _ [5f] O [4f] . [fa] . [] [] . [] [] # [] . [] . [f4] @ [] . [c0] " [22] # [23] Q [51] . [f1] # [23] 0 [30] q [71] . [f0] $ [24] 0 [30] ( [28] . [f4] ! [21] 0 [30] . [a1] . [f0] " [] [] . [] . [f5] . [] . [c0] & [] [] . [b1] . [f0] ' [27] 0 [30] . [c1] . [f0] $ [24] 0 [30] . [d9] . [f4] [20]
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [c0] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [] . [c0] . [] . [] . [] . [] . [8f] w [] . [] . [c0] . [] . [] . [] . [] . [8f] } [7d] . [] . [] . [] . [] . [] . [c0] . [] . [b5] . [8f] w [] . [] . [c0] . [] . [b5] . [8f] } [7d] . [] . [bd] . [] . [c0] . [] . [] . [b0] . [] . [8f] w [] . [] . [c0] . [] . [] . [b0] . [] . [8f] } [7d] . [] . [] . [b0] . [] . [e3] / [2f] . [f0] . [e0] . [ee] . [0f] . [ff] . [1f] . [ee] X [] . [ff] O [4f] . [a5] . [] . [b4] . [] / [2f] . [b7] . [f8] . [] f [] # [] ! [] . [f4] . [8c] . [] . [] . [] . [] # [] . [] . [c0] . [8c] . [] . [] + [2b] . [8c] . [] / [2f] . [bf] . [] . [] . [cf] . [] . [df] . [] . [0e] . [] ; [3b] . [] . [0e] . [] . [] . [] . [c0] . [e0] . [d0] . [e0] . [0e] . [] . [] . [] [] . [] . [e1] . [f3] . [0e] . [] . [] . [] . [f9] . [cf] . [f8] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [ff] . [cf] []
avrdude: Recv: . []
avrdude: Recv: . []
# | % .21s avrdude: bytes of flash written
avrdude: verifying flash memory against C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex:
avrdude: load data flash data from input file C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex:
avrdude: input file C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex contains bytes
avrdude: reading on-chip flash data: Reading | avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [0c] . [] a [] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] . [9a] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [] . [] . [] . [] $ [] . [] ' [27] . [00] * [2a] . [00] . [00] . [00] . [00] . [00] % [25] . [00] ( [28] . [00] + [2b] . [00] . [00] . [00] . [00] . [00]
avrdude: Recv: . []
######avrdude: Send: U [] @ [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: # [] . [] & [] . [] ) [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] [] @ [] . [] . [] . [] . [] . [] . [] [] . [] . [] . [] . [] . [] [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] $ [] . [1f] . [be] . [cf] . [ef] . [d8] . [e0] . [de] . [bf] . [cd] . [bf] . [] . [e0] . [a0] . [e0] . [b1] . [e0] . [e2] . [e0] . [f4] . [e0] . [] . [c0] . [] . [] . [0d] . [] . [a0] [] . [b1] . [] . [d9] . [f7] . [] . [e0] . [a0] . [e0] . [b1] . [e0] . [] . [c0] . [1d] . [] . [a9] [] . [b1] . [] . [e1] . [f7] . [0e] . [] . [f0] . [] . [0c] . [] . [ff] . [] . [0c] . [] . [] . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [8d] . [e0] a [] . [e0] . [0e] . [] . [9c] . [] h [] . [ee] s [] . [e0] . [] . [e0] . [] . [e0] . [0e] . [] . [e2] . [] . [8d] . [e0] ` [] . [e0] . [0e] . [] . [9c] . [] h [] . [ee] s [] . [e0] . [] . [e0] . [] . [e0] . [0e] . [] . [e2] . [] . [] . [] . [8d] . [e0] a [] . [e0] . [0e] . [] v [] . [] . [] . [] . [1f] . [] . [0f] . [] . [0f] . [b6] . [0f] . [] . [] $ [] / [2f] . [] ? [3f] . [] . [8f] . [] . [9f] . [] . [af] . [] . [bf] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] [] . [] . [] . [] . [] . [] . [a1] . [1d] . [b1] . [1d] # [] / [2f] - [2d] _ [5f] - [2d] [] [] . [f0] - [2d] W [] . [] . [] . [a1] . [1d] . [b1] . [1d] [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . []
avrdude: Recv: . []
######avrdude: Send: U [] . [c0] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [] . [] . [a1] . [1d] . [b1] . [1d] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [bf] . [] . [af] . [] . [9f] . [] . [8f] . [] ? [3f] . [] / [2f] . [] . [0f] . [] . [0f] . [be] . [0f] . [] . [1f] . [] . [] . [] . [9b] . [] . [ac] . [] . [7f] . [b7] . [f8] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] f [] . [b5] . [a8] . [9b] . [] . [c0] o [6f] ? [3f] . [] . [f0] . [] . [] . [a1] . [1d] . [b1] . [1d] . [7f] . [bf] . [ba] / [2f] . [a9] / [2f] . [] / [2f] . [] ' [27] . [86] . [0f] . [91] . [1d] . [a1] . [1d] . [b1] . [1d] b [62] . [e0]
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [] . [0f] . [] . [1f] . [aa] . [1f] . [bb] . [1f] j [6a] . [] . [d1] . [f7] . [bc] . [] - [2d] . [c0] . [ff] . [b7] . [f8] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [e6] . [b5] . [a8] . [9b] . [] . [c0] . [ef] ? [3f] . [] . [f0] . [] . [] . [a1] . [1d] . [b1] . [1d] . [ff] . [bf] . [ba] / [2f] . [a9] / [2f] . [] / [2f] . [] ' [27] . [8e] . [0f] . [91] . [1d] . [a1] . [1d] . [b1] . [1d] . [e2] . [e0] . [88] . [0f] . [99] . [1f] . [aa] . [1f] . [bb] . [1f] . [ea] . [95] . [d1] . [f7] . [86] . [1b] . [97] . [0b] . [88] ^ [5e] . [93] @ [40] . [c8] . [f2] ! [21] P [50] 0 [30] @ [40] @ [40] @ [40] P [50] @ [40] h [68] Q [51] | [7c] O [4f] ! [21] . [15] 1 [31] . [05] A [41] . [05] Q [51] . [05] q [71] . [f6] . [08] . [95] x [78] . [94] . [84] . [b5] . [82] ` [60] . [84] . [bd] . [84] . [b5]
avrdude: Recv: . []
#######avrdude: Send: U [] @ [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [] ` [] . [] . [bd] . [] . [b5] . [] ` [] . [] . [bd] . [] . [b5] . [] ` [] . [] . [bd] . [ee] . [e6] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e1] . [e8] . [f0] . [e0] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [e0] . [e8] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e1] . [eb] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e0] . [eb] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [ea] . [e7] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] h [] . [] . [] . [] . [] . [c1] . [] . [] . [] H [] / [2f] P [] . [e0] . [ca] . [] . [] V [] . [9f] O [4f] . [fc] . [] $ [] . [] J [4a] W [] _ [5f] O [4f] . [fa] . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [] . [] . [] # [] . [c1] . [f0] . [e8] / [2f] . [f0] . [e0] . [ee] . [0f] . [ff] . [1f] . [e8] Y [] . [ff] O [4f] . [a5] . [] . [b4] . [] f [] # [] A [] . [f4] . [9f] . [b7] . [f8] . [] . [8c] . [] [] . [] . [] # [] . [8c] . [] . [9f] . [bf] . [] . [] . [9f] . [b7] . [f8] . [] . [8c] . [] . [] + [2b] . [8c] . [] . [9f] . [bf] . [] . [] H [] / [2f] P [] . [e0] . [ca] . [] . [] U [] . [9f] O [4f] . [fc] . [] $ [] . [] . [ca] . [] . [] V [] . [9f] O [4f] . [fc] . [] . [] . [] J [4a] W [] _ [5f] O [4f] . [fa] . [] [] . [] [] # [] . [] . [f4] @ [] . [c0] " [22] # [23] Q [51] . [f1] # [23] 0 [30] q [71] . [f0] $ [24] 0 [30] ( [28] . [f4] ! [21] 0 [30] . [a1] . [f0] " [] [] . [] . [f5] . [] . [c0] & [] [] . [b1] . [f0] ' [27] 0 [30] . [c1] . [f0] $ [24] 0 [30] . [d9] . [f4]
avrdude: Recv: . []
######avrdude: Send: U [] . [c0] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [] . [c0] . [] . [] . [] . [] . [8f] w [] . [] . [c0] . [] . [] . [] . [] . [8f] } [7d] . [] . [] . [] . [] . [] . [c0] . [] . [b5] . [8f] w [] . [] . [c0] . [] . [b5] . [8f] } [7d] . [] . [bd] . [] . [c0] . [] . [] . [b0] . [] . [8f] w [] . [] . [c0] . [] . [] . [b0] . [] . [8f] } [7d] . [] . [] . [b0] . [] . [e3] / [2f] . [f0] . [e0] . [ee] . [0f] . [ff] . [1f] . [ee] X [] . [ff] O [4f] . [a5] . [] . [b4] . [] / [2f] . [b7] . [f8] . [] f [] # [] ! [] . [f4] . [8c] . [] . [] . [] . [] # [] . [] . [c0] . [8c] . [] . [] + [2b] . [8c] . [] / [2f] . [bf] . [] . [] . [cf] . [] . [df] . [] . [0e] . [] ; [3b] . [] . [0e] . [] . [] . [] . [c0] . [e0] . [d0] . [e0] . [0e] . [] . [] . [] [] . [] . [e1] . [f3] . [0e] . [] . [] . [] . [f9] . [cf] . [f8] . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [ff] . [cf]
avrdude: Recv: . []
# | % .18s avrdude: verifying ...
avrdude: bytes of flash verified
avrdude: Send: Q [] []
avrdude: Recv: . []
avrdude: Recv: . [] avrdude done. Thank you.

7、自动烧录

我用C#写了一个工具,将上面的手工操作给封装起来。功能包括启动VSPM虚拟串口服务器,复位远端的arduino uno,执行avrdude指令。详见的代码见附件。

8、附件下载

点击下载

最新文章

  1. 使用Object.create 克隆对象以及实现单继承
  2. 【转】RadControls for Silverlight(学习2-RadDataPager)
  3. 正在调用的 ServicedComponent 配置不正确(请使用 regsvcs 重新注册)
  4. CRM IFRAME 显示地图
  5. 转:C语言宏定义时#(井号)和##(双井号)的用法
  6. 开发设计模式(五)单例模式(Singleton Pattern)
  7. 信号和槽有一个非常精炼的C++实现,作者是Sarah Thompson,该实现只有一个头文件sigslot.h,跨平台且线程安全
  8. TCP传输连接建立与释放详解
  9. saltstack:使用教程之一安装及客户端返回写入MySQL
  10. CSDN头版头条 《近匠》 Wijmo 5 CTO:从Web到移动,我的25年编程生涯
  11. matlab最简单程序模板
  12. Android学习之Animation(三)
  13. Xamarin.Android 使用线程无法更改页面文本问题
  14. 2018.9南京网络预选赛(J)
  15. this 指向问题
  16. JAVA 反射用法
  17. [Spring Boot] Use Component Scan to scan for Bean
  18. how to Use the Tampermonkey API from the Chrome console
  19. 【Loadrunner】如何通过loadrunner利用代理对手机端Web浏览器及APP进行录制?
  20. Java Calendar and SimpleDateFormat 时间模块

热门文章

  1. git冲突解决方案 Intellij IDEA
  2. BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource
  3. Error running : Address localhost:1099 is already in use
  4. tcp连接需要注意的问题
  5. tell me one of your favorite project-练习英语
  6. Halcon的二维码解码步骤和解码技巧
  7. Python.__getattr__Vs__getattribute__
  8. Debian 利用 iso 镜像完全离线更新 apt-cdrom
  9. 电商类Web原型制作分享-IKEA
  10. 想到的regular方法果然已经被sklearn实现了就是L1和L2组合rugular