📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

103行目: 103行目:
<u>Lock bitsを設定すると、それを解除するにはATmegaマイコンをハイボルテージプログラミングモードで消去する必要があるため、Lock bitsの設定は慎重に行う必要がある。</u><br>
<u>Lock bitsを設定すると、それを解除するにはATmegaマイコンをハイボルテージプログラミングモードで消去する必要があるため、Lock bitsの設定は慎重に行う必要がある。</u><br>
<u>不適切なLock bits設定は、ATmegaマイコンの再書き込みを困難または不可能にする可能性がある。</u><br>
<u>不適切なLock bits設定は、ATmegaマイコンの再書き込みを困難または不可能にする可能性がある。</u><br>
<br><br>
== ヒューズバイトの設定 ==
ヒューズバイト (Fuse Bytes) と呼ばれる領域および設定も存在する。<br>
<br>
ヒューズバイトは、Lock bitsとは別の設定領域であるが、ATmegaマイコンの動作に関連する重要な設定を含んでいる。<br>
ヒューズバイトとロックビットの両方を適切に設定することにより、ATmega328マイコンのセキュリティと動作を細かく制御することができる。<br>
<br>
ただし、これらの設定を変更する場合は、ATmegaマイコンのデータシートを参照して、設定を十分に理解した上で行うことが重要である。<br>
<br>
* Boot Reset Vector Enable (BOOTRST)
** 1 (デフォルト)
**: ブートローダ領域が有効。
** 0
**: ブートローダ領域が無効
*: <br>
* Brownout Detector Level (BODLEVEL0 - BODLEVEL2)
*: Brownout Detector Level (ブラウンアウト検出レベル) は、ATmegaマイコンの動作電圧が一定のレベル以下に低下した場合に、マイコンをリセットするための設定である。
*: ATmegaマイコンは、適切な電圧範囲内で動作するように設計されている。
*: 動作電圧が低すぎると、マイコンが正常に動作しなくなる可能性がある。
*: <br>
*: このような状況を防ぐために、Brownout Detector (ブラウンアウト検出器) が使用される。
*: ブラウンアウト検出器は、電源電圧を監視して、設定されたレベル以下に電圧が低下した場合に、ATmegaマイコンをリセットする。
*: これにより、電圧が回復するまでATmegaマイコンの動作を停止させて、不安定な動作を防ぐことができる。
*: <br>
*: 適切なブラウンアウト検出レベルを選択することにより、ATmegaマイコンが動作する電圧範囲を制限して、低電圧状態でのマイコンの誤動作を防ぐことができる。
*: ただし、ブラウンアウト検出器を有効にすると、わずかな電力消費の増加や、リセット時間の延長などのデメリットがある。
*: アプリケーションの要件に応じて、ブラウンアウト検出レベルを適切に設定することが重要である。
*: <br>
** 0b111 (デフォルト)
**: Brown-out検出無効。
** 0b110
**: Brown-out検出レベル : 1.8[V]
** 0b101
**: Brown-out検出レベル : 2.7[V]
** 0b100
**: Brown-out検出レベル : 4.3[V]
** その他の値
**: 予約済み
*: <br>
* Clock Divide (CKDIV8)
*: ATmega328マイコンを外部32.768[kHz\の水晶発振器を使用して16[MHz]で駆動する場合、Clock Divide (CKDIV8) は<code>0</code>に設定する必要がある。
*: CKDIV8ヒューズは、ATmegaマイコンのクロック周波数を8で割るかどうかを制御する。
*: CKDIV8が<code>1</code>に設定されている場合、システムクロックは8で割られる。
*: CKDIV8が<code>0</code>に設定されている場合、システムクロックは分周されない。
*: <br>
*: 32.768[kHz]の水晶発振器を使用して16[MHz]でATmegaマイコンを駆動するには、以下の手順に従う。
*# 32.768[kHz]で水晶発振器をATmegaマイコンの外部クロック入力ピン (XTAL1とXTAL2) に接続する。
*# ヒューズバイトの設定で、外部クロックソースを選択する。 (低電力水晶発振器モード - Low-power Crystal Oscillator Mode)
*# CKDIV8ヒューズを<code>0</code>に設定して、クロック分周を無効にする。
*# ATmegaマイコンは、32.768[kHz]の水晶発振器の周波数を内部で逓倍して、16[MHz]のシステムクロックを生成する。
*: <br>
** 0 (デフォルト)
**: クロック分周なし
** 1
**: クロックを8分周
*: <br>
* Self-Programming Enable (SELFPRGEN)
** 1 (デフォルト)
**: 自己プログラミング(SPM命令)が有効。
** 0
**: 自己プログラミング(SPM命令)が無効。
<br><br>
<br><br>