fuseを書き換える際は、クロック設定を間違えたり、書き込み賦課にしてしまったりすると復旧不可能にもなるので気をつける。
mega88p
ArduinoISPが書き込むfuseの意味は?
avrdude: safemode: lfuse reads as E2
avrdude: safemode: hfuse reads as DD
avrdude: safemode: efuse reads as 7
http://www.avr.jp/ ここにいくとデータシートの日本語訳があるので、参考にしながら解読していく。
mega88P.pdfのP181”28.2.ヒューズ ビット"等に書いてある。
拡張ヒューズバイト(efuse=0x07)
bit3-7:1(未使用)
bit2:BOOTSZ1 = 1
bit1:BOOTSZ0 = 1 => ブートローダの設定(128word)
bit0:BOOTRST = 1 => 応用領域から起動(ブートローダを使わない)
ヒューズ上位バイト(hfuse=0xDD)
bit7:RSTDISBL = 1 RESETピン有効
bit6:DWEN = 1 デバッグWIRE不許可
bit5:SPIEN = 0 直列プログラミング許可
bit4:WDTON = 1 WDTはWDTCSRで許可
bit3:EESAVE = 1 EEPROMは未保護
bit2:BODLEVEL2 = 1
bit1:BODLEVEL1 = 0
bit0:BODLEVEL0 = 1 => 2.7Vでリセット
ヒューズ下位バイト(lfuse=0xE2)
bit7:CKDIV8 = 1 8分周しない
bit6:CKOUT = 1 クロック出力しない
bit5:SUT1 = 1
bit4:SUT0 = 0 => 遅い起動(=安定)
bit3:CKSEL3 = 0
bit2:CKSEL2 = 0
bit1:CKSEL1 = 1
bit0:CKSEL0 = 0 => 内蔵RC発振クロック(8MHz)
mega328
(todo)
mega328p
(todo)
tiny2313
(todo)