Arduino Mega2560 作为烧录器烧写Mega2560的bootloader

  • Post author:
  • Post category:其他


本文很多内容都是参考这位博主的,本文为CSDN博主「ourkix」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:

https://blog.csdn.net/ourkix/article/details/109492694

,发表这篇文章只是单纯的想帮助Arduino mega2560烧录失败的学习者学习。之前我烧录失败的原因是没有修改引脚配置,因为Arduino UNO和Mega2560的io口定义是不一样的,所有需要修改,spi里的引脚设置,11改为51,12改为50,13改为52,4改为10。


Arduino Mega2560 作为烧录器烧写Mega2560的bootloader


打开arduino IDE 软件,菜单栏 文件–>示例–>ArduinoISP,这个就是官方的isp下载器代码。我们直接打开

这里介绍下icsp口的定义

MISO(50引脚) 5VSCK(52引脚) MOSI(51引脚)RST GND实物接线 上面这个电容是10uf的,接地

当然也能这样接,这样要下载的板子就不用再接电源了(我用的这个,可以不用接电容)

这里注意下,Arduino UNO和Mega2560的io口定义是不一样的,需要修改。按官方例程直接操作是不行的

改变的地方是 找到这段代码

#define USE_OLD_STYLE_WIRING

#ifdef USE_OLD_STYLE_WIRING

#define PIN_MOSI 11#define PIN_MISO 12#define PIN_SCK 13

#endif改成 这里改成这个是因为mega2560的引脚就是这么定义的,具体可查看手册

#define USE_OLD_STYLE_WIRING //此处别忘记取消注释

#ifdef USE_OLD_STYLE_WIRING

#define PIN_MOSI 51 //mega2560的MOSI 11

#define PIN_MISO 50 //mega2560的MISO 12

#define PIN_SCK 52 //mega2560的SCK 13

#endif

#define RESET 10

#define LED_HB 7

#define LED_ERR 6

#define LED_PMODE 5

#endif

spi里的引脚设置,11改为51,12改为50,13改为52,4改为10

修改好引脚分配之后,直接通过usb把程序烧到板子里,它就变成了一个isp烧写器了,按上面的图接好线后

接下来就要把bootloader通过这个板子烧到目标板子里面,首先在菜单里面 工具->编程器->arduino as isp 选中

选择开发板型号 菜单的->工具 -> 开发板: -> arduino/genuino mega or mega 2560

选择处理器 菜单->工具->处理器->atmega2560(Mega 2560)

烧写引导程序 菜单->工具->烧录引导程序

好了指示灯会一闪一闪的,就在烧写了,(电容一定要接上,不然烧不了,我是这样,参考博主是这样,我实际烧录没有用到)

————————————————版权声明:本文为CSDN博主「ourkix」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:

https://blog.csdn.net/ourkix/article/details/109492694

如果有侵权,联系我删除就可以了