1チップのAVRなどにプログラムを書いていると、フューズビットを間違えてしまい、そのチップが使えなくなってしまうことがある。
実際、僕も失敗していくつかCPUをダメにしてしまった。そんな時にWEBを見ていて、
「初期化することができる。」との記事に大いに元気づけられた。
でも、通常動作の5Vとか3.3Vではなく、「高電圧」でプログラミングする必要がある。
とか書いてあって、ちょっとびびった。しかし、「高電圧」とは12Vの事だと分かって安心した。
回路は簡単。
そして、スケッチも公開されているので、ArduinoUNOにこの回路を繋いで、初期化(リセット)することができた。
今回は使いやすい様にUNOのシールドにしてみた。
Arduino AVR High-Voltage Serial Programmer
などに詳しい解説がある。
ArduinoUNOにこのシールドを載せて、外部から12Vの電源を加え、ターゲットのチップを載せる。
シリアルモニタを立ち上げて、ENTERキーを叩くと、リセットが行われ、結果(フューズビットの情報)が表示される。
その値が、正しいかどうかは、
Engbedded Atmel AVR® Fuse Calculator
などで確認できる。