概述
本文介绍如何使用 Arduino Uno 对全新的 ATmega328P 芯片进行编程。
本文包括以下内容:
- 如何通过 Arduino Uno 对全新的 ATmega328P 烧写 Bootloader
- 如何通过 Arduino Uno 对带有 Bootloader 的 ATmega328P 进行编程
所需材料
- Arduino Uno
- ATmega328P 芯片
介绍
如果你买了一个全新的 ATmega328P, 然后你想要对其进行编程,一个自然而然想到的办法就是把原来插在板子上的芯片拔下来,把这块新的插上去不就可以进行编程了?
ATmega328P 芯片
Arduino Uno
很遗憾的是这种想法行不通,因为 Arduino Uno 是通过板载串口对 ATmega328P 芯片进行编程的,而要想通过串口对 ATmega328P 芯片进行编程则需要其内部的 Bootloader 支持,但是,全新的 ATmega328P 里没有 Bootloader。
因此,需要先将 Bootloader 烧写到 ATmega328P 中。
烧写 Bootloader
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
然后,就可以正常下载程序了。
版权所有,本文首发于微信公众号【飞多学堂】: