|
本帖最后由 eddiewwm 于 2014-5-10 12:13 编辑
基本概念:
甲) 事前準備和硬件連接
乙) 編寫程序代碼和經ArduinoISP上載至ATtiny
操作流程:
A) 事前準備 - Arduino IDE(參考:1& 2)
這是為使原來的Arduino IDE能支持ATtiny13/44/45/84/85的一次性步驟:
a) 下載檔案 https://github.com/tekstop/attiny/tree/Arduino1
b) 解壓下載檔,把當中的 "ATtiny" 放在Arduino 檔案夾hardware 內
c) 修改attiny檔案夾內的boards文字檔,把當中的 "attiny13.build.f_cpu=9600000L" 改為 "attiny13.build.f_cpu=10000000L"
d) 修改hardware/arduino/cores/arduino/wiring.c
修改前:
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
修改後:
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny13__)
B) 事前準備 – .ArduinoISP (參考:1 & 3)
這是使Arduino板用作ArduinoISP上載燒寫其它AVR芯片的步驟,若Arduino板之前已為ArduinoISP,則不用再做。
a) 運行Arduino IDE
b) 打開ArduinoISP範例文件
c) 正確選擇所使用的Arduino板及串口
d) 上載至Arduino板
e) 退出Arduino IDE
C) 硬件連接
這是ArduinoISP 與ATtiny13的硬件連接
D) 編寫程序代碼和經ArduinoISP上載至ATtiny
a) 運行Arduino IDE
b) 正確選擇所使用的ATtiny13
c) 編寫程序代碼
int led = 4;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
d) 經ArduinoISP上載燒寫ATtiny13
e) 若板上的LED以1秒亮1秒滅的閃動,表示以上操作成功。
參考:
1) Programming an ATTiny13A using Arduino & servo interpreter
http://www.instructables.com/id/ ... servo-int/?ALLSTEPS
2) https://github.com/tekstop/attiny/tree/Arduino1
3) Using an Arduino as an AVR ISP (In-System Programmer) http://arduino.cc/en/Tutorial/ArduinoISP
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|