使用arduino拯救你的arduino开发板(含arduino拯救16u2/8u2的usbserial)

在arduino开发过程中,我们可能会遇到主控烧坏需要重新更换MCU,或者是自己画基于arduino开发的主板需要自行烧录arduino的bootloader的时候。网上很多教程都会告知如何用可正常使用的arduino开发给丢bootloader的板子刷写bootloader,但是像mega2560、uno这类的板子usb转串口是使用16u2,8u2芯片模拟出来的usbserial,一旦该芯片固件损坏或没有烧写,那么arduino还是无法正常连接pc使用的。本文在介绍如何使用正常的arduino开发板给修缮的arduino开发板重烧bootloader之余,还将记录如何使用arduino给16u2烧写usbserial固件。

一、准备工作:

1,一片可以正常使用的arduino开发版,本文以arduino uno举例;

2,需要重写bootloader的arduino开发板;

3,杜邦线6条,usb延长线一条;

4,安装有arduino IDE的PC;

二、储备知识:

1,ICSP/ISP接口定义(如图):

*MISO---VCC

 SCK----MOSI

 RST----GND

使用arduino拯救你的arduino开发板(含arduino拯救16u2/8u2的usbserial)_第1张图片

2,开发板硬件链接(如图):

注意,下方为正常使用的板子,上方为待烧写的板子,待烧写的主板也可直接将线接到右侧的icsp口上(D10接RESET,D11接MOSI,D12接MISO,D13接SCK,vcc接5v,GND接GND)。

使用arduino拯救你的arduino开发板(含arduino拯救16u2/8u2的usbserial)_第2张图片

三,烧写bootloader:

1,打开arduino IDE,在文件->示例->Arduinoisp中打开arduinoisp项目。

使用arduino拯救你的arduino开发板(含arduino拯救16u2/8u2的usbserial)_第3张图片

2,选择对应的开发板选项,该选项是你正常使用的arduino主板:

,选择好对应的主板,com口

使用arduino拯救你的arduino开发板(含arduino拯救16u2/8u2的usbserial)_第4张图片

3,将usb数据线链接到正常使用的arduino开发板,烧录arduino as isp

使用arduino拯救你的arduino开发板(含arduino拯救16u2/8u2的usbserial)_第5张图片

到此,arduino as isp 已制作完成。

四,使用arduino as isp烧录新主板的bootloader。

1,按开发板链接图将需要烧写bootloader的开发板链接到正常使用的uno上;

2,打开arduinoIDE,将开发板设置成待烧录的开发板型号;

3,将usb数据线链接到正常使用的arduino,并选择识别的com口;

4,编程器选择“arduino as isp”

5,点击“工具-->烧录引导程序”完成新bootloader的烧写;

五,使用arduino as isp烧写16u2(8u2同)的usbserial固件:

1,重新将D10,11,12,13的线链接到16u2的ICSP口上(D10接RESET,D11接MOSI,D12接MISO,D13接SCK,vcc接5v,GND接GND);

2,编写一份cmd脚本,内容如下:

C:\Progra~2\Arduino\hardware\tools\avr/bin/avrdude -CC:\Progra~2\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM4 -b19200 -e -Ulock:w:0x0F:m -Uefuse:w:0xF4:m -Uhfuse:w:0xD9:m -Ulfuse:w:0xFF:m

C:\Progra~2\Arduino\hardware\tools\avr/bin/avrdude -CC:\Progra~2\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM4 -b19200 -Uflash:w:C:\Progra~2\Arduino\hardware\arduino\avr/firmwares/atmegaxxu2/Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex:i -Ulock:w:0x0F:m@echo offecho 按下任意键退出...pause>null

3,将该代码保存成.cmd格式,设置权限运行;
4,出现如下图所示信息则证明刷写成功
使用arduino拯救你的arduino开发板(含arduino拯救16u2/8u2的usbserial)_第6张图片
注意:批处理中,“C:\Progra~2\Arduino\”为你arduinoIDE的安装路径,请自行完全替换,“-PCOM4”,替换为你pc端口识别的com口序号,“Ulock:w:0x0F:m -Uefuse:w:0xF4:m -Uhfuse:w:0xD9:m -Ulfuse:w:0xFF:m”这些为16u2/8u2熔丝位,不必更改。
至此,16u2的usbserial烧写完毕。

你可能感兴趣的:(arduino,c语言)