以下の内容はhttps://seinzumtode.hatenadiary.jp/entry/20140803/1407037460より取得しました。


Arduinoのヒューズビット設定について

AVR ISP mkII用のboards.txt設定が気になったので調べてみた。
普通のArduino UNOの設定

uno.bootloader.low_fuses=0xff
uno.bootloader.high_fuses=0xde
# 0xDEFF -> 1101 1110 1111 1111

AVR ISP mkII w/ ATmega328pの設定

atmega328bb.bootloader.low_fuses=0xe2
atmega328bb.bootloader.high_fuses=0xda
# 0xDAE2 -> 1101 1010 1110 0010

◯上位バイト

board BODLEVEL
Arduino UNO 111→リセット禁止
AVR ISP mkII w/ ATmega328p 101→2.7Vリセット

◯下位バイト

board SUT CKSEL
Arduino UNO 11→N/A 1111→外部発振
AVR ISP mkII w/ ATmega328p 10→低速立ち上がり電源 0010→4M内部発振→8Mじゃないの??

AVR ISP mkIIの方のatmega328bb.bootloader.low_fuses=0xe2は間違いではないのか?
動いてるみたいだけど。
外部発振から内部発振に切り替えられるってことはここも外部発振にしてしまえるのでは?
ということで実験してみた。
AVR ISP mkIIのヒューズ設定をUNOのものにして
AVR ISP mkIIからUNO上のATmega328pにアップロードしたら普通に動作した。
その後逆にBootloaderを焼きこんでから
Arduion UNOをターゲットとしてアップロードしたら同じく動作した。

Arduinoには外部発振器が付いているのでそこまで恐れずにFuse bitは書き換えてよさそうだ。




以上の内容はhttps://seinzumtode.hatenadiary.jp/entry/20140803/1407037460より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14