- 如何通过 Arduino Uno 对全新的 ATmega328P 烧写 Bootloader
- 如何通过 Arduino Uno 对带有 Bootloader 的 ATmega328P 进行编程
所需材料
- Arduino Uno
- ATmega328P 芯片
介绍
如果你买了一个全新的 ATmega328P, 然后你想要对其进行编程,一个自然而然想到的办法就是把原来插在板子上的芯片拔下来,把这块新的插上去不就可以进行编程了?
ATmega328P 芯片
Arduino Uno
很遗憾的是这种想法行不通,因为 Arduino Uno 是通过板载串口对 ATmega328P 芯片进行编程的,而要想通过串口对 ATmega328P 芯片进行编程则需要其内部的 Bootloader 支持,但是,全新的 ATmega328P 里没有 Bootloader。
因此,需要先将 Bootloader 烧写到 ATmega328P 中。
Arduino Uno 本身可以变成一个编程器(ISP), 可以对全新的 ATmega328P 烧写 Bootloader.
将 Arduino IDE 自带的 “ArduinoISP” 代码下载到 Arduino Uno 中,Arduino Uno 就变成了一个编程器:
将A rduino Uno 编程编程器
烧写开始前,按下图所示连接硬件:
烧写 Bootloader 时的硬件连线
注意目标板的 RESET 脚连接作为编程器的 Arduino Uno 的第10脚。
Arduino IDE 中 选择 Arduino 作为编程器:
编程器选择 Arduino as ISP
Arduino IDE 中开发板选择“Arduino Uno”。点击菜单中的“烧录引导程序”:
开始烧录后提示如下:
烧录成功后提示如下:
下载程序
烧录完 Bootloader 后,就可以通过 Arduino Uno 板自带的串口对已经烧写了 Bootloader 的 ATmega328P 进行编程了。
编程前需要将作为编程器的 Arduino Uno 板上的 ATmega328p 拿掉。就相当于将要编程的 ATmega328P 插到了 Arduino Uno 开发板上。硬件连线如下:
烧写闪灯程序时的硬件连线
编写一个 LED 闪烁程序,Arduino IDE 中选择 “ArduinoISP” 作为编程器:
选择编程器 ArduinoISP
然后,就可以正常下载程序了。
来源:飞多学堂