Burn Bootloader 的方法#
Arduino as ISP and Arduino Bootloaders | Arduino Documentation
问题#
不能成功上传程序(Upload Sketch)。
起因:同一台电脑的两个 USB 接口各连接了一个 Arduino,上传完程序后,两 Arduino 都在不停的使用串口传数据到电脑。后来再次上传程序时,就遇到了不能用 USB 接口上传程序的问题。
显示如下错误:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x43
Failed uploading: uploading error: exit status 1
重刷 Bootloader 方法#
用一块好的 Arduino 板作为(ISP ICSP)烧写工具(Programmer),给不能用 USB 上传程序的 Arduino (Target) 重刷 bootloader 程序。
连线#
步骤总结
连线
选择 Tools > Programmer > Arduino as ISP
打开 File > Examples > ArduinoISP > ArduinoISP (sketch), Compile and Upload
点击 Tools > Burn Bootloader
如果 Bootloader 区没有受损,上传的 Bootloader 文件版本也正确,那么这样操作后,原先不能 USB 上传程序的 Arduino 就又可以正常使用了。
将Arduino作为编程器#
但是, Arduino 重刷 bootloader,也不一定能修好 Arduino 的 USB 串口 Upload 程序的功能。此时可以用 SPI (ISP/ICSP)方式上传程序。方法:
使用烧写 Bootloader 相同的连线方法;
在 Arduino IDE 中选择 Sketch > Upload using programmer 完成程序烧写。这一步是将一块 Arduino 用作编程器使用。
注意: 这种方法要用到两块Arduino 板,成本有些高,而且连线多,显然不能经常用。不过如果 Target Arduino 不是用作平时开发,而只用作不经常修改的工作板,是可以的。