使用Atmega 16/16A制作Arduino復(fù)制板早期的Arduino主控芯片使用的是Atmega 8,在UNO R3時改成了Atmega 328,存儲空間由8k增至32k,其它都是相同的。 如果使用Atmega8/328“裸片”復(fù)制Arduino,就比較簡單,因為Arduino IDE原生就支持它們。 我初時學(xué)習(xí)Arduino時,原想著一道學(xué)習(xí)AVR,因為不熟悉底層,就會被Arduino的封裝阻隔提升的空間。 今天碰到一篇文章,用Atmega 16復(fù)制Arduino,一時興起,但那文章錯誤太多,或者什么原因,總之是無法繼續(xù)。 正確且易于實踐的步驟,記錄一下。因為這件事情比先前研究的Attiny13A/85/LilyPad更有意義——如果不怕麻煩,以后可以不用再買Arduino板了,體積也小了。 1、在板卡管理器里安裝MightyCore。 在首選項里填寫 https://mcudude./MightyCore/package_MCUdude_MightyCore_index.json 2、把Arduino UNO作為編程器 把Examples/ArduinoISP燒寫到Arduino中; 3、接線
4、燒錄Blink 把兩只LED串聯(lián),正極引腳接Atmega16引腳20,修改Blink.ino: int pin=14;//注意這句 5、燒錄Atmega16 Tools菜單里設(shè)置板卡:Atmega16,內(nèi)部時間8MHz,BootLoader為Yes,編程器為Arduino as ISP。 在Sketch菜單里使用upload Using Programmer上傳,Atmega16引腳20上的兩個LED間隔8秒閃爍一次(為什么?因為時鐘慢了。) 6、總結(jié)記錄 ⑴很多資料寫的使用AVR燒錄器等做法,不用那么麻煩,而且還不保證。 ⑵很多資料太過古老,不許IDE版本高于1.6,手動設(shè)置熔絲位等等,MightyCore庫全部解決掉了,不必理會。 ⑶Atmega16有不少資料里的引腳圖與Arduino引腳不對應(yīng),不能正確執(zhí)行ino代碼。Atmega16有40個引腳,而Atmega328只有28個引腳,相當(dāng)于功能增加了。 |
|
來自: 新用戶5228KeDY > 《待分類》