文章目录

  • 一、硬件电路准备
    • 1、328P的管脚图
    • 2、电路连接图
      • (1)最小系统连接图
      • (2) ISP连接及端口介绍
      • (3)管脚连接对应表
      • (4)328P与uno板链接图
  • 二、烧写程序
    • 1、准备ArduinoISP
    • 2、使用Arduino as ISP烧录设置Arduino板为烧写器
    • 3、烧录及错误
    • 4、为新烧录328p下载测试程序
    • 5、效果
  • 三、另一种烧录方法
    • 1、准备好编程器文件及上传
    • 2、上传测试程序
  • 四、直接用USB转TTL上传程序
  • 五、制作自己的烧写器

文章原出处: https://haigear.blog.csdn.net/article/details/129203322
烧录arduino引导程序是我们抛开UNO板做项目必经的过程。这里我们提供两种方法来实现烧录。第一种,利用实例程序中的ArduinoISP完成,第二种,利用开源项目,但他们的电路都是一模一样的。所以我们从电路开始。

一、硬件电路准备

1、328P的管脚图

这里提供一张328P与UNO板的管脚的对应图,有了它我们就可以准确无误的连接UNO板了,如下:

2、电路连接图

(1)最小系统连接图

这里的电路是最小化的电路图,如果你还想加点别的,比如复位电路,或者ISP管脚连接也可以,不过烧录的时候最好简单一些,避免出错后检查起来麻烦。

当然,如果你从uno板上引入电源的正极和负极,你完全可以把这个电容直接接在uno板的两个引入电极脚上(GND和5V脚),有人就这么干的,其实原理一样,就这么简单。

(2) ISP连接及端口介绍

首先我们看看板子上的ISP的pin口,其实如果是有两块板子,直接对等连接即可。

对等连接如下:

(3)管脚连接对应表

一般情况下,我们都不是给一块现成的板子烧录,而是一个裸芯片328P或者168P,给他们烧写你除了接好最小系统外,还需要将16,17,18,19和uno板的对应10,11,12,13脚接好。关键管角连接对应的端口,我列表如下:

328管脚 l连接目标
9PIN crystal
10PIN crystal
20PIN +5V
22PIN GND
17PIN uno-11pin
18PIN uno-12pin
19PIN uno-13pin
1PIN uno-10pin

(4)328P与uno板链接图

上面这个图其实就是在最小系统上面多增加了四根线,16,17,18,19和uno板的对应10,11,12,13脚对接。

二、烧写程序

1、准备ArduinoISP

我们打开实例文件的ArduinoISP,直接用上传的方式上传给uno板即可。

2、使用Arduino as ISP烧录设置Arduino板为烧写器

在保持开发板为arduino uno 的同时,选择编程器为Arduino as ISP即可。

3、烧录及错误

如果你的元器件和线都么有接错的话,应是很顺利就可以烧录完毕,但也许你会遇到下面的错误。

svrdude: Tiken! Inyalid device signature.
如果你的上传时总是上面的错误,那很可能是你使用的晶振的电容数值不对,换掉它就可以啦,我们这里的电容用15-25pf都可以,数量级对了一般都是可以正常起震的,也就是可以正常下载,当然我这里还是强烈推荐能够找到20pf的就用20pf,或者22pf,这两种比较容易找到。

如果你看到了这个提示,说明你真的已经烧录成功了,不信,你可以把你的芯片放到原来的uno板上测试一番。当然,这要求你烧录的是直插式的Atmega328,你的uno板子也是直插式的(相比贴片式,网上买这样的板子稍微贵一些)。

4、为新烧录328p下载测试程序

上面的方法直接验证我们新烧写的328P是否成功,无非就是利用原有板子的电路,直接下载一个测试程序,比如blink程序,看看13号脚的灯闪不闪。其实,我们还有一种方法验证,那就是通过我们前面制作成为arduinoISP的uno板(将它视作编程器)直接通过“使用编程器上传”来给我们的新328P上传验证测试程序blink。
上传成功后,给新烧好的芯片下载程序,那就用它了–使用编程器上传,其他的步骤和普通的UNO板子没有差别。

5、效果

效果这里不便展示,除非拍个视频,无非如果验证成功的效果是blink闪烁的13号灯。这里就不展示了。
前面的方法是最典型的烧录方法,其实我们还有两种方法,后面我们介绍两种新方法。

三、另一种烧录方法

1、准备好编程器文件及上传

电路和前面的一样,关键是烧写器的准备有不同,我们必须到GitHub上下载一个项目,利用这个项目来使我们的UNO板编程烧写器。arduino_sketches项目下载
把整个项目下下来,解压或直接打开Atmega_board_Programmer.ino,也可以成功的将我们的uno板变成一个编程器。

将上述的Atmega_board_Programmer的代码编译后上传到uno板,即可。程序烧写完成后,设置好选项

我们打开串口监视器,如下图:

如果,你遇到上图所示的错误,说明你的接线错了,说明reset和uno的pin10没有连接好。连接好线后,我们继续:

如果你看到了上述画面那就说明你成功了,只要你的设置是对的,一般都会成功,当然,偶尔错了按一下uno板上的reset键,再执行一次就成功了。

2、上传测试程序

这时,我们拆除reset连接到uno板10脚的线,采用下面的设置,就可以下载程序了。

注意,这里也需要短接reset和短接一下,类似DRT的作用。

四、直接用USB转TTL上传程序

这里说的上传程序,特指我们已经烧好BootLoader的328P。我们不可能每次都用一个老的UNO板来上传程序,看起来不太优雅而且不方便,毕竟要连接这么多的线和器件。这里我们还是可以直接使用USB转TTL来上传的。
错误来了:
avrdude: stk500_recv(): programmer is not responding

如果你的USB转TTL上有DTR,那可以恭喜你,你这个东东很高级,烧录时就不需要短接Reset和GND了。不过需要注意,我们最好在DTR和Reset脚之间接一个104的电容。
市面上出售的CH340等模块均未引出DTR或RTS引脚(当然,有几个型号的ch340是没有DTR引脚的,比如ch340N,ch340E),所以均需要手动复位,然后arduino给328P的复位时间极短。

那如果TTL模块没有DTR引脚要怎么烧录呢?那就和我的一样了。我的就没有DTR引脚,这样的话就需要你在IDE开始上传的一瞬间(差不多就行)短接Reset和GND即可上传成功。(有人说有时也不需要短接,或许那得看你人设吧)

五、制作自己的烧写器

关于下载器,其实自己做一个是非常必要的。用一个ATTiny85外加一个ch340制作一个也是一个不错的选择。这个我们放在下一篇博文介绍。

码字不易,转载请注明出处:https://haigear.blog.csdn.net/article/details/129203322

arduino烧录引导程序(BootLoader)方法及出错点相关推荐

  1. arduino烧写失败,给Arduino烧录引导程序,出现以下错误,到底是什么原因导致的。知道的高手请帮忙...

    这就是烧录时出现的错误提示: Arduino:1.6.7 (Windows XP), 开发板:"Arduino/Genuino Uno" avrdude: stk500_recv( ...

  2. 给Arduino烧录BootLoader引导程序,包括Atmega 16U2(通信芯片),Atmega 328P(主控芯片)

    需要用到USBtiny下载器和下载工具,USBtiny下载器如下所示: 下载工具在如下链接:https://download.csdn.net/download/weixin_36815313/112 ...

  3. Arduino烧录bootloader,并作为ISP进行下载程序

    注:以下流程均在Pro mini 328P上进行. 1.在第一块板子上上传示例中的ArduinoISP程序,该板子成为板子A: 2.等待烧录bootloader的板子成为板子B: 3.板子A的引脚pi ...

  4. 利用Arduino Nano 对于另外的Arduino控制板下载Bootloader

    简 介: 测试了利用Nano板对于基于MEGA328的Arduino的Bootloader下载,在此基础之上,利用了FT232TL的USB-TTL UART模块对测试MEGA328下载执行程序. 关键 ...

  5. Atmel328P烧录引导程序中芯片签名问题

    本文不讲如何进行烧录,会在其它的博客中单独说明.无论用Arduino.usbtiny或者其它产品的作为引导程序烧录器,在为自焊的Arduino板进行烧录引导程序的过程中,经常或碰到各种各样的问题.在排 ...

  6. arduino UNO总是上传项目出错 问题的解决

    这里写自定义目录标题 arduino UNO总是上传项目出错 问题的解决 arduino UNO总是上传项目出错 问题的解决 手头上有两块arduino uno版.一块是原厂电路,另一块是改款的. 问 ...

  7. STM8不用手动复位进入自带Bootloader方法(串口下载)

    源:STM8不用手动复位进入自带Bootloader方法(串口下载) STM8不用手动复位进入自带Bootloader方法(串口下载) 除非STM8片子的空的,如果复位运行的是自带Bootloader ...

  8. springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出错的解决办法

    springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出错的解决办法 参考文章: (1)springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出 ...

  9. 汇承4.0蓝牙BLE串口助手HC-COM的使用方法及出错的原因和改正方法

       本文主要介绍在使用汇承4.0蓝牙BLE串口助手HC-COM,通过手机向蓝牙模块发送数据.或者通过手机向与蓝牙模块连接的单片机发送指令时,串口中断函数的编写方法及出错的原因和改正方法    我们怎 ...

最新文章

  1. http://www.shanghaihaocong.com-WORDPRESS开发的企业主题站
  2. 申万一级行业日指数_申万一级行业指数一周表现
  3. 运行caffe自带的mnist实例教程
  4. less加管道tail_linux中cat、more、less、tail、head命令的区别
  5. 接口隔离原则(设计模式4)
  6. 《金色梦乡》金句摘抄(八)
  7. rss聚合模式案例_RSS的完整形式是什么?
  8. 深入理解HashMap(原理,查找,扩容)
  9. python基础小白题5
  10. Spring框架概述(快速入门)
  11. 2008 Gartner ITxpo 展 10 大 IT 产品
  12. 截取usb数据包,控制usb设备----Relay设备
  13. 扇贝有道180915每日一句
  14. CVX使用基础教程-结合官网教程翻译
  15. BGP、MPLS综合实验
  16. 常见的几种生命周期模型及其适用范围
  17. python中文社区-python-chinese.GitHub.io
  18. 仿百度首页(可进行百度搜索)
  19. macOS 安装istats zsh: command not found: istats
  20. 2023年中南财经政法大学应用统计考研上岸前辈初复试备考经验

热门文章

  1. 报错解决:Unable to find a `./myhdl.vpi‘ module on the search path.以及 %1 is not a valid Win32 application
  2. 设计员技能必备:CAD表格怎么与EXCEL表格相互转换?
  3. ksweb nat123 手机Android建站解析
  4. FFmpeg简介(一)
  5. Pytorch的backward()与optim.setp()的理解
  6. Cesium:绘图工具v1.0
  7. 数字化转型过程中的六要素(5M1E):
  8. 聚宽 get_price 多个股票数据_《实证资产定价:股票横截面收益》
  9. Uibot(来也RPA)电脑中安装了Office和WPS,但Creator只能调起WPS
  10. 手机怎么设置腾达路由器后显示远端服务器,使用手机设置腾达(tenda)无线扩展器上网...