我向Adafruit買了AVR ISP燒錄器,名為USBtinyISP,屬於套件形式,必須自己焊接組裝。
這種AVR ISP燒錄器,如果是Atmel官方原廠的AVRISP mkII,大概要1000元,非原廠的通常500元上下,不過在拍賣網站上有約100元的產品,也有很多高手自行設計並公開在網路上,也可以根據Arduino官方文件描述的Parallel Port Programmer自己製作並列埠燒錄線,或是把另一塊Arduino板子當做ISP燒錄器。
外包裝。
內容物,晶片、電阻、電容、陶瓷諧振器、2x3與2x5排線、LED、印刷電路板、外殼、稽納二極體、USB B型插座、等等。
電路板的正反面。
根據文件,逐一焊接。
裝上排線與外殼,完成。
接上Arduino Uno試試看吧。
下載驅動程式並安裝,在裝置管理員裡會出現USBtinyISP AVR Programmer,是一個USB裝置。
可以先用燒錄程式avrdude試試看,以-c usbtiny指定燒錄器,-p指定微控制器,先隨便指定一個,譬如m8是Atmega8。
$ avrdude -c usbtiny -p m8
avrdude.exe: Error: Could not find USBtiny device (0x1781/0xc9f)
avrdude.exe done. Thank you.
居然說找不到裝置,難道我焊接錯誤嗎,還好拔插USB線後,再執行一次就正常了,如下。
$ avrdude -c usbtiny -p m8
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
若以-p m328p指定正確的微控制器,Arduino Uno使用Atmega328P,則會出現如下訊息,代表燒錄器可以與微控制器正常溝通。
$ avrdude -c usbtiny -p m328p
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude.exe: Device signature = 0x1e950f
avrdude.exe done. Thank you.
雖然也可以自己使用avrdude下指令燒錄,不過還是使用Arduino IDE比較簡單方便,啟動後,從Tools-Board選擇你的Arduino開發板,從Tools-Programmer選USBtinyISP,然後,以File-Upload Using Programmer上傳(燒錄)程式碼,以Tools-Burn Bootloader燒錄bootloader。
燒錄一般程式碼,成功囉。
燒錄bootloader,需要一點時間,也成功囉。
當然啦,燒錄麵包板上的AVR微控制器也是可行的。
耶。
關於Adafruit USBtinyISP的詳細規格,請參考官方文件。
No comments:
Post a Comment