去年润夏 发表于 2018-4-20 00:07:49

DIY arduino 利用USBtinyISP为16u2烧写固件

本帖最后由 去年润夏 于 2018-4-21 10:12 编辑

DIY uno遇到了很多麻烦   
还好现在都已经解决了
16u2固件网上有很多方法
通过整理 最终问题解决

首先,如果使用USBtinyISP得先让你的电脑正确识别你的USB设备所以首先需要为它安装驱动
资料很多最终找到这个可以使用https://learn.adafruit.com/usbtinyisp/download

具体安装过程 简单价绍下(我的是WIN10系统其他系统可以在网上查找相关教程):
        更新驱动程序->浏览计算机以查找驱动->点击浏览将目录指向驱动下载文件夹->接下来根据提示进行就可以
安装结果可以在:
        计算机右键->管理->设备管理器中查看



安装过驱动接着就可以利用USB设备为arduino板子16u2固件升级
从这篇帖子非常详细www.geek-workshop.com/thread-168-1-1.html
首先在安装目录下找到avrdude.conf和avrdude.exe,
将这两个文件复制到E:\Program Files\Arduino-1.8.5\hardware\arduino\avr\firmwares\atmegaxxu2目录下
这个路径是arduino IDE安装路径,16U2的HEX程序就在atmegaxxu2目录下,可能是因为这个所以要把配置文件和程序复制到这里以便后面使用
通过cmd进入刚才的目录中,
输入指令:
avrdude -p at90usb82 -F -P usb -c usbtiny -U flash:w:UNO-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m
等待。。。
可是不知道为什么前面工作都没有问题只是最后一步出现问题

不知道这两个命令有什么区别可能只是烧写的HEX文件不同不过我DIY的板子烧写这个没有问题
avrdude -p at90usb82 -F -P usb -c usbtiny -U flash:w:MEGA-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m


如果两个都不行, 可以看下下面的帖子
https://www.arduino.cn/thread-21619-1-1.html

软件可以在这里下载blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/

不管怎么样最终问题解决
拔下USBtinyISP将arduino连接到电脑上现在你的uno就可以和其他的uno一样显示在电脑上



如果一切正常 只是不能上传程序需要设置熔丝位
点击Read,如果读出的熔丝位不是D9 F4 0F,请手动改为D9 F4 0F 然后点击Write,


可以参考这篇文章
https://www.arduino.cn/thread-15025-1-1.html



epigone 发表于 2018-4-24 11:31:30

很好的学习贴

huangshan78 发表于 2018-4-24 14:28:16

原来因为16u2烧了还折腾了不久,支持支持

吃樱桃不吐胡 发表于 2018-4-25 15:24:44

为啥不用ch340?又简单又便宜

ming3834436 发表于 2019-11-3 16:41:07


avrdude_GUI有没有下载地址
页: [1]
查看完整版本: DIY arduino 利用USBtinyISP为16u2烧写固件