|
本帖最后由 shouzama 于 2022-4-2 01:36 编辑
說到這個,我來講一下我的經驗好了
剛開始接觸 ATTINY 是用 Digispark 出的
ATtiny85 開發板,它本身自帶 BOOTLOADER,
可以用 IDE 直接連 USB 燒錄程式碼
但我後來放棄用這種開發板,理由:
1.就算 85 有 8kB 的空間,BOOTLOADER 佔掉近 1kB
2.每次開機要浪費約 5 秒讓它確認沒有資料要燒錄,
才會轉進執行程式碼的作業,浪費時間
3.週邊搭了固定的電路元件,干擾我的 I/O 判定
4.比較貴
所以我後來改用 SU 封裝的晶片+轉接板(比PU封裝便宜),
上網找了用 UNO 當燒錄器的相關資料,先燒 BOOTLOADER?
想太多,既然能燒 BOOTLOADER 就能燒一般的程式吧,
姑且一試,成功! 從此開始了我直接燒程式的工法
但一些小程式小控制用 85 顯得很浪費(同事在玩靜態模型
常要求我幫他做些燈光控制),所以轉戰 13A,除了程式碼
受限 1kB 其他都差不多,因為只有 1kB 更不可能燒 BOOTLOADER,
用 IDE 燒 BOOTLOADER 也是後來學到用來設定內部晶振頻率
的方法
我個人是建議 ATTINY 系列的直接燒 .HEX 程式碼就好,這個檔案
在編譯完成後會存在於特定目錄中,檔名與 .INO 的檔名相同
說到這個,其實進 ArduinoISP.ino 程式中也可以獲得不少資訊,比方說:
// Put an LED (with resistor) on the following pins:
// 9: Heartbeat - shows the programmer is running
// 8: Error - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave
它其實支援 3 個狀態指示燈,根據這個我在 DIY 燒錄轉接板時
就把指示燈做上去,再追加一顆 LED 到 P1 去(仿照 UNO 的 P13),
然後將 BLINKER 的輸出改為 1 燒進 ATTINY13A,日後一接上
轉接板就能確定 IC 是好是壞、基頻有沒有設錯
|
|