这篇文章上次修改于 1280 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
电子坑深似海,各位尽早脱坑吧
烧录Bootloader
准备工具和元件
- ATmega328P
- 22pf陶瓷电容 x2
- 16MHz晶振
- USBasp或者USBtinyISP
- 面包板和跳线杜邦线若干
接线方式
搭建晶振电路,连接电源和ISP
烧录程序
下载progisp并打开,由于不是开源软件就不共享了,搜索下就能找到
选择芯片为ATmega328P
点击RD按钮,如果提示"读出ID成功",说明你的芯片和连线都是OK的
打开目录Arduino\hardware\arduino\avr
(就是arduino IDE的文件夹),找到boards文件
打开它,你可以看到配置文件,根据配置文件,你可以找到hex文件所在路径,以及熔丝位的配置。
然后点开省略号按钮弹出以下窗口
根据文件你电脑上boards.txt列出的值填写即可
接下来是最后一步,烧录hex文件
目录在Arduino\hardware\arduino\avr\bootloaders\optiboot
点击“打开”按钮后,再进行关键一步,设置编程参数!千万不能省。
严禁勾选“加密芯片”选项!否则你的芯片可能跪了。
我们只勾选三个选项:校验flash,芯片擦除,编程flash,如下图所示。(如果是首次烧录BootLoader,需要勾选编程熔丝)
设置完毕后,点击“自动按钮”,这样我们就完成了bootloader的烧写。
如果你有一个Arduino UNO R3的话,可以把这块芯片更换上去,测试下能不能正常工作。
也可以用接下来的方法烧一个Blink
程序试试
使用FTDI Basic或USB转TTL烧录Arduino程序
USB转TTL接线方式
首先是普通的USB转TTL,接线方式如下图。
在D13脚可以接一个LED二极管,方便测试arduino(比如Blink程序)是否正常工作。
这种接线方式有一个小问题:没有复位电路,程序不会自动烧录
解决方法也很简单,在上传程序时,将RST(第一脚)连接到GND,直到微处理器进入复位状态,立即拨开RST脚与GND连接,下载程序(安装一个按钮在RST脚旁边也是一个不错的方法)。
FTDI Basic
如果你的是FTDI Basic这一类带DTR引脚的传输线,接法如下,这样就可以自动烧录程序了。
参考
使用USBasp给arduino烧写bootloader
面包板图例来自《完美图解Arduino互动设计入门》
非常棒的Arduino入门书籍,强烈安利
没有评论