步骤1:零件
1 x面包板上的Arduino
1 x Arduino UNO
连接线
Arduino IDE安装在PC上的
第2步:方法
我们将使用Arduino UNO来引导ATmega328坐在面包板上的Arduino上。如果您有ATmega328P-PU,这非常简单,但是对于ATmega328-PU,则需要额外的步骤。
步骤3:将Arduino UNO编程为ISP
我们需要在Instructable中解决这些差异。对Arduino UNO进行编程以充当ISP(系统内编程器),以便将引导加载程序刻录到面包板芯片上。
打开Arduino IDE
打开ArduinoISP草图(在“文件”,“示例”下)
如果您正在使用IDE的1.0版:
搜索无效心跳 》并更改以下行:
delay(40);
到
delay(20);
将您的UNO连接到PC,确保未将其连接到面包板上的Arduino。
确保在Boards菜单选项下选择了UNO,然后上传
步骤4:连接ATmega328
现在,将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。不幸的是,出售这些芯片的网站并不总是能够区分它们,而且论坛上到处都是努力使用ATmega328-PU的人们。
幸运的是,有一种解决方法-看看我的Crash Bang网站。
步骤6:ATmega328-PU解决方法
每个微处理器都有一个签名 –一个唯一的代码来标识其型号。当您启动芯片加载(甚至上传草图)时,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 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
-
Arduino
+关注
关注
187文章
6456浏览量
186467 -
ATmega328
+关注
关注
1文章
37浏览量
20994
发布评论请先 登录
相关推荐
评论