电子说
简介
如果你正在查看这个项目,那么你可能已经使用过Arduino板了。 Arduino UNO上的ATmega328微控制器很可能在一定时间(或不正确的连接)后发生故障。为了重用Arduino Board,您需要一个装有Bootloader的新ATmega328 IC(我将在一分钟内讨论Bootloader)。
还有其他原因可以在上面刻录Bootloader ATmega328微控制器,如果你已经编写了自己的Bootloader并想要测试它,或者你想要详细了解微控制器的工作情况。
警告: 如果你不熟悉这种东西,不建议在Arduino中调整Bootloader。
什么是Bootloader?
简单来说,Bootloader是一小段代码(.hex格式的可执行代码),驻留在微控制器的内存中。 Arduino中的Bootloader允许我们通过串口对Arduino进行编程,即使用USB线。
Arduino中Bootloader的工作是接受来自计算机的代码并将其放入微控制器的存储器。
为什么我们需要一个Bootloader?
传统上,像Atmel的ATmega328这样的微控制器是在专用编程器的帮助下编程的,这些编程器涉及一些奇特的连接。 Bootloader消除了这种复杂性,为我们提供了一种简单的微控制器编程方式,即使用USB电缆。
Bootloader位于可编程闪存的特殊安全位置微控制器通常占用不到1KB的内存。
在ATmega328上烧录Bootloader需要什么?
如前所述,如果您想将程序上传到全新的ATmega328微控制器IC,您必须使用特殊的编程器(并设置保险丝位)。但是如果你在ATmega328上刻录Bootloader,你只需通过串口(USB线)对微控制器进行编程。
一旦ATmega328微控制器准备好了bootloader,你可以简单地使用它如果您打算制作自己的Arduino电路板,请将其用作Arduino电路板(作为替代产品)或将其用作微控制器。
如何在ATmega328上刻录Bootloader?
有几种方法可以在ATmega328 IC上刻录引导加载程序。第一种方法是使用专用AVR编程器硬件。第二种方法是使用工作的Arduino板作为编程器并在目标ATmega328微控制器上刻录引导加载程序。
在这个项目中,我将使用第二种方法,即使用Arduino作为程序员。
电路图
在ATmega328上刻录引导加载程序的电路图使用Arduino的微控制器如下所示。
ATmega328微控制器的引脚图如下图所示,以防万一。
所需组件
Arduino UNO
ATmega328微控制器IC
16MHz晶体
22pF x 2陶瓷电容器
10KΩ电阻器
按钮
330Ω电阻器
LED
面包板
连接电线
5V电源
在Atmega328上编程Bootloader的过程
如前所述,Arduino UNO正在在这里用作AVR程序员。为了达到这个目的,你必须将一个特殊程序上传到你工作的Arduino UNO板上,称为“Arduino ISP”。
所以,在建立连接之前,连接正常工作的Arduino使用USB电缆将UNO连接到计算机并在Arduino IDE中选择适当的板和PORT。
现在,转到文件》示例》 ArduinoISP》 ArduinoISP。将此代码上传到Arduino UNO,以便将Arduino UNO板转换为AVRISP程序员。
完成此操作后步骤,进行必要的连接(如果没有)。现在转到Tools》 Programmer并选择“Arduino as ISP”选项。在此之后,您已准备好刻录引导加载程序。
只需转到“工具”并单击“Burn Bootloader” 。您的目标ATmega328微控制器将使用引导程序进行编程。
将草图上传到ATmega328
完成在ATmega328微控制器上传Bootloader后,您可以继续上传测试草图。为此,保留与之前相同的连接并打开任何草图,例如Blink Sketch。
不要更改任何选项,即程序员仍设置为“Arduino as ISP ”。现在,按住键盘上的“Shift”按钮,单击“上传”图标。这将使用Arduino UNO作为编程器将草图上传到ATmega328微控制器IC。
完成此操作后,您可以断开Arduino UNO与ATmega328微控制器的连接并使用ATmega328 IC作为在其上运行Blink sketch的独立设备。
下图显示上传后运行Blink sketch的ATmega328微控制器在Arduino UNO的帮助下。
注意:为了将代码上传到Arduino UNO,请确保将程序员切换回“AVRISP mkII” “。
结论
在这个项目中,我向您展示了如何在ATmega328微控制器IC上刻录Bootloader,作为一个额外选项,我还向您展示了如何使用Arduino UNO将Arduino草图上传到带有Bootloader的ATmega328。
全部0条评论
快来发表一下你的评论吧 !