步驟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
+關注
關注
188文章
6469瀏覽量
186994 -
ATmega328
+關注
關注
1文章
37瀏覽量
21021
發布評論請先 登錄
相關推薦
評論