使用arduino拯救你的arduino开发板(含arduino拯救16u2/8u2的usbserial)_arduino编程器选哪个-程序员宅基地

技术标签: arduino  c语言  arduino uno 16u2 8u2  

在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


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

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


三,烧写bootloader:

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


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

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


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


到此,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,出现如下图所示信息则证明刷写成功

注意:批处理中,“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烧写完毕。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/menglongfc/article/details/78853961

智能推荐

ViewRootImpl介绍-程序员宅基地

1. 简介从上一篇文章:从setContentView揭开DecorView 中可以看到,Activity是怎么将我们的布局加载到DecorView,但是这时还不是可见的,因为这时布局还没有绘制。那么它是怎么绘制的,我们来研究一下。本文源码基于android 272. 源码分析虽然DecorView已经被创建出来了,但是目前DecorView跟PhoneWindow是没有任何关_viewrootimpl

android扩散圆引导动画,Popview-Android:为任何视图更新添加扩散动画带圆形除尘效果..._歡瑜的博客-程序员宅基地

Popview-AndroidPop animation with circular dust effect for any view updation Getting StartedIn your build.gradledependencies {compile 'rb.popview:popview:0.1.0'}UsageInitialize PopField like so :PopF..._android popview

处理复旦大学中文文分类数据集_复旦中文分类语料库-程序员宅基地

目录1. 处理原始数据2. 分词、去停用词3. 存储到csv4. 存储到数据库5. 主函数7. 最终结果展示6. 注意内容7. 资源列表8. 完整代码复旦大学中文文本分类数据集是一个小型轻量的数据集,常用于自然语言处理文本分类,文本聚类实验中,本文通过使用Python将该数据集进行基本处理,并分别存储到csv和sql文件中。1. 处理原始数据原始数据的格式为(如图1.1),每个文件夹中有不等量的.txt文件,每个文件为一篇语料。图1.1:原始数据格式读取类别文件列表,用os模块读取原始数据_复旦中文分类语料库

管理科学の学生自学CS的【计划】与【心得】-程序员宅基地

从小就喜欢这玩意,没办法,说什么都要学的,不学是不可能的。

uni-app中高度100%没有效果_uniapp高度百分比无效-程序员宅基地

对于在uni-app中height=100%无效果的解决方法我本人也好多次遇到设置高度100%却没有效果,只有100px才有效果,有点让人头疼,经过好几次的探索才找到了这个最有效的方法。1.先看我没有能实现的 .tesst{ height: 100%; width: 100%; background: #FF0000; } 效果却没有显示出来,后来在一个同事那里才知道了答案。直接在app.vue下边的style标签上写 <style> uni-page_uniapp高度百分比无效

H3C交换机console登录配置_putty连接交换机console口_石兴稳的博客-程序员宅基地

(1)主机断电。因为PC机串口不支持热插拔,请不要在PC带电的情况下,将配置电缆插入或者拔出PC机。(2)请使用产品随机附带的配置电缆连接PC机和设备。请先将配置口电缆的DB-9(孔)插头插入PC机的9芯(针)串口中,再将RJ-45插头端插入设备的Console口中。图1 将设备与PC通过配置口电缆进行连接(3)将PC上电。(4)在通过Console口搭建本地配置环境时,需要通过超级终端或PuTTY等终端仿真程序与设备建立连接。用户可以运行这些..._putty连接交换机console口

随便推点

linux freemind字体,解决freemind中文乱码-程序员宅基地

出自Linux Wiki提示:此文已超过 9 年(3299 天)未更新,如发现内容过时或有误,欢迎改进:)解决freemind中文乱码由于 Freemind 要应用到 Java 运行时环境,显示中文字体乱码是由于 JRE 的字体造成的,所以更改 JRE 的字体即可。1. 找一个可用于中文显示的字体。比如: wqy 字体。确认字体已经安装于系统$ ls /usr/share/fonts/wenqua..._freemind 乱码

Android逆向工程:MIUI系统大揭秘:去不掉的小米账号!_param.setresult(null)-程序员宅基地

哈喽小伙伴们大家好~欢迎继续学习探讨MIUI系统的安全防范知识!在上篇博客中:Android逆向工程:带你领略MIUI系统的账号安全防范机制:账号是从哪里获取的?我们了解到了MIUI系统通过对关键代码进行封装进系统内,对外采用统一调用接口的方式来防止关键代码被破解窥视,保护了系统应用的安全,同时我们发现了获取账号信息的准确接口,那么MIUI系统除此之外,还有什么值得称道的安全防护措施呢?接着上篇博..._param.setresult(null)

读取JSON格式配置文件的工具类_jsonreadconfigfile.jsonobj-程序员宅基地

一个工具类,用于读取json格式的配置文件config.json文件示例:{ "配置文件说明": "可更改的配置文件", "businessMapBrowser": { "系统1": [ "www.example.com:80" ], "系统2": [ "www.example.com:80" ], "系统3": [ "www.example.com:80" ], "系统4": [ "www.._jsonreadconfigfile.jsonobj

Android adb 刷机命令-程序员宅基地

adb reboot bootloadersudo ./fastboot devicessudo ./fastboot flash system ./system.imgsudo ./fastboot flash userdata ./userdata.imgsudo ./fastboot flash boot ./boot.imgsudo ./fastboot flash cache

JS面向对象编程(OOP)_js oop编程-程序员宅基地

面向对象编程 OOP1 面向对象 & 面向过程面向过程 POP​ 分析问题所需要的步骤面向对象OOP​ 以功能对象划分问题二者比较:面向对象面向过程优灵活 复用 维护性能高缺性能比面向过程低没有面向对象灵活、复用、维护2 类和对象笔记本    泛指    类mac笔记本  具体  实例动物 猫2.1 面..._js oop编程

videojs能播放mp4,不能播放rtmp流的问题解决_video.js 播放mp4-程序员宅基地

最近给了一个小任务是要验证下videojs播放rtmp流的问题。我先是在http://www.jq22.com/jquery-info404 《视频播放插件Video.js》下载了根据它提供的demo修改代码如下:<!doctype html><html><head><meta charset="utf-8"><..._video.js 播放mp4

推荐文章

热门文章

相关标签