本文介绍如何使用Arduino Uno对新型ATmega328P芯片进行编程。
本文包括以下内容:
所需材料介绍
如果你买了一块全新的ATmega328P,然后你想给它烧写,很自然想到的办法就是把原来插在板子上的芯片拔掉,插上新的烧写?
ATmega328P芯片
Arduino Uno
不幸的是,这个想法行不通,因为Arduino Uno通过板载串口对ATmega328P芯片进行编程,而通过串口对ATmega328P芯片进行编程需要其内部Bootloader的支持。 然而,新的ATmega328P没有它。 引导加载程序。
因此,需要首先将Bootloader编程到ATmega328P中。
刷写引导加载程序
Arduino Uno本身可以变成一个编程器(ISP),可以为新的ATmega328P编程Bootloader。
将Arduino IDE自带的“ArduinoISP”代码下载到Arduino Uno中,Arduino Uno就成为程序员:
将 Arduino Uno 编程为编程器
在开始编程之前,请按如下所示连接硬件:
Bootloader编程时的硬件连接
请注意,目标板的 RESET 引脚连接到用作编程器的 Arduino Uno 的引脚 10。
在Arduino IDE中选择Arduino作为编程器:
程序员选择Arduino作为ISP
在Arduino IDE中选择“Arduino Uno”作为开发板。 单击菜单中的“刻录引导加载程序”:
开始刻录后,提示如下:
烧录成功后,提示如下:
下载程序
烧录Bootloader后,就可以通过Arduino Uno板自带的串口,用已经烧写好的Bootloader对ATmega328P进行烧写了。
在编程之前,需要将用作编程器的Arduino Uno板上的ATmega328p拆掉。 相当于将要编程的ATmega328P插到Arduino Uno开发板上。 硬件连接如下:
flash程序烧写时的硬件连接
编写LED闪烁程序,在Arduino IDE中选择“ArduinoISP”作为编程器:
选择编程器ArduinoISP
然后就可以正常下载程序了。