如何使用ArduinoUNO来引导ATmega328

电子说

1.3w人已加入

描述

步骤1:零件

1 x面包板上的Arduino

1 x Arduino UNO

连接线

Arduino IDE安装在PC上的

第2步:方法

Arduino

我们将使用Arduino UNO来引导ATmega328坐在面包板上的Arduino上。如果您有ATmega328P-PU,这非常简单,但是对于ATmega328-PU,则需要额外的步骤。

步骤3:将Arduino UNO编程为ISP

Arduino

我们需要在Instructable中解决这些差异。对Arduino UNO进行编程以充当ISP(系统内编程器),以便将引导加载程序刻录到面包板芯片上。

打开Arduino IDE

打开ArduinoISP草图(在“文件”,“示例”下)

如果您正在使用IDE的1.0版:

搜索无效心跳 》并更改以下行:

delay(40);

delay(20);

将您的UNO连接到PC,确保未将其连接到面包板上的Arduino。

确保在Boards菜单选项下选择了UNO,然后上传

步骤4:连接ATmega328

Arduino

Arduino

现在,将ATmega连接到UNO如下:

UNO 5v ---》 ATmega引脚7(VCC)

UNO GND ---》 ATmega引脚8(GND)

UNO针10 ---》 ATmega针1( RESET)

UNO引脚11 ---》 ATmega引脚17(MOSI)

UNO引脚12 ---》 ATmega引脚18(MISO)

UNO针13 ---》 ATmega针19(SCK)

请确保您没有将其他任何东西连接到上面使用的ATmega针上。

第5步:您使用的是哪种ATmega328?

我了解了不止一种类型的ATmega328的难题。我们感兴趣的两个变体是ATmega328-PU和ATmega328P-PU。

后缀 -PU 表示芯片采用PDIP封装,这是我们所需的格式 328P 是picoPower处理器,设计用于低功耗,用于Arduino板上。考虑到低功耗,这是首选。

328 并不具有picoPower技术,并且没有在Arduino板上使用-并且没有明确支持。 Arduino IDE。这意味着我们可以轻松地引导ATmega328P,而不是ATmega328。不幸的是,出售这些芯片的网站并不总是能够区分它们,而且william hill官网 上到处都是努力使用ATmega328-PU的人们。

幸运的是,有一种解决方法-看看我的Crash Bang网站。

步骤6:ATmega328-PU解决方法

Arduino

每个微处理器都有一个签名 –一个唯一的代码来标识其型号。当您启动芯片加载(甚至上传草图)时,Arduino IDE会检查所选芯片是否与其连接的类型匹配。即使ATmega328-PU本质上与ATmega328P-PU具有相同的功能,但它具有不同的签名,并且是Arduino IDE无法识别的。

(在幕后:Arduino IDE实际上使用AVRDUDE对芯片进行编程,因此您将看到来自avrdude的错误消息。

如果尝试引导加载ATmega328-PU,则会收到类似以下内容的消息:

avrdude:设备签名= 0x1e9514

avrdude:ATMEGA328P的预期签名为1E 95 0F

双重检查芯片,或使用-F覆盖此检查。

得到一个更加彩色的版本:

avrdude:哎呀!无效的设备签名。

解决此问题的方法是“欺骗” IDE,使您认为您的328-PU实际上是328P-PU。免责声明:我已经对此进行了测试,并且可以正常工作-不能保证不会造成无法预料的后果。

解决方法:

在Arduino文件夹中,找到子文件夹: 。. hardware tools avr etc

制作文件的备份副本: avrdude.conf

打开文本编辑器中的文件 avrdude.conf

搜索:“ 0x1e 0x95 0x0F ”(这是ATmega328P签名)

替换为:“ 0x1e 0x95 0x14 ”(这是ATmega328签名)

保存文件

重新启动Arduino IDE

继续执行说明中的其余步骤,完成引导加载后,将还原您制作的备份副本。

步骤7:引导ATmega328

Arduino

Arduino

在Arduino IDE中,从工具菜单中:

在 Board 选项下,选择 Arduino UNO 串行端口选项下的li》

确保选择了正确的端口

在 Programmer 选项下的

选择 Arduino作为ISP

要刻录Bootloader,请从 Tools 菜单中选择 Burn Bootloader

您应该看到一条消息“正在将Bootloader刻录到I/O板上(这可能需要一分钟)”

一旦Bootloader被刻录,您将看到一条消息,确认成功。

恭喜:您现在可以在面包板上将草图加载到Arduino上了!

上传草图

ATmega328P-PU::您可以保留设置不变,并使用Arduino UNO将草图上载到新引导的ATmega(文件,U

ATmega328-PU::IDE将注意到签名无效–因此,您将不得不再次更改avrdude.conf文件或使用FTDI板上传。无论如何,我还是更喜欢使用FTDI板,因为它不会使UNO停止流通并且可以快速连接。
       责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分