由於業務沒事要我去接個小設計專案,我只好想辦法搞定他的需求,想說用點不同的方式去建置專案,所以把腦筋動到AROUINO 上,目前手邊有 mega 2560 的主板.不過客戶不需要這麼多功能的MCU.我只好找資料把AROUINO 弄在 Atmega 88 上.以下算是做個教學記錄~
首先~
參考的是 ROY 的分享,內容大致上是可以用 usb ic做編輯或是 avr isp連線方式做編輯!
主要要先把 ROY 網友分享的檔案下載下來~ (
Bootloader設定
)*官方支援
Bootloader的MCU檔案較少,其他MCU則要靠網友分享
Bootloader的檔案
Get all the code
https://github.com/royshil/ATmega88-bootloader解壓縮後把檔案放置 (arduino所在硬碟):\arduino\arduino-1.0.6-windows\arduino-1.0.6\hardware\arduino\bootloaders 內 並把名稱改為ATmega88
然後到(arduino所在硬碟):\arduino\arduino-1.0.6-windows\arduino-1.0.6\hardware\arduino裡有個 boards 檔案編輯他!
加入下列程式碼
####################################
atmega88.name=ATmega88
atmega88.upload.protocol=arduino
atmega88.upload.maximum_size=7168
atmega88.upload.speed=19200
atmega88.bootloader.low_fuses=0xe2
atmega88.bootloader.high_fuses=0xdf
atmega88.bootloader.extended_fuses=0x00
atmega88.bootloader.path=atmega88
atmega88.bootloader.file=ATmegaBOOT_88_m88.hex
atmega88.bootloader.unlock_bits=0x3F
atmega88.bootloader.lock_bits=0x0F
atmega88.build.mcu=atmega88
atmega88.build.f_cpu=8000000L
atmega88.build.core=arduino
atmega88.build.variant=standard
##########################################
硬體接線方式
// pin name: Arouino uno MEGA(1280 and 2560) Atmega 88(28pin)
// slave reset: 10: 53 1 (reset)
// MOSI: 11: 51 17 (MISO)
// MISO: 12: 50 18 (MOSI)
// SCK: 13: 52 19 (SCK)
Atmega 88
USB 或 ISP 接線方式
(出處:ROY的網頁)
Arouino uno連接Atmega 88
(電阻可有可無)
下面這張圖
Atmega 168 跟
Atmega 88 腳位相同
硬體接線與
Bootloader設定完成後開啟
Arouino主程式
先將
ArouinoISP燒入在MEGA 2560裡面
完成後再將目標板設為
Atmega 88 及編輯(燒入)方式
燒入
Bootloader到
Atmega 88
燒入時間約莫1分多鐘
燒入完成後會出現 Done buming bootloader
之後就利用MEGA ISP 介面燒入Atmega 88 裡面
注意:燒入方式要選擇Upload Using Programmer
如果使用Upload會出現錯誤(找不到目標板)
avrdude: stk500_getsync(): not in sync: resp=0x00
最後忘了提醒自己~
光lcd顯示+ds1302的讀取,就耗盡 6450 byte (剩下714 byte)
所以無法用在客戶專案上!