FUSEビットの設定を間違えて書き込み不能になった時は適当な外部発振器をつないだらOKぽい


arduinoに通常使われているAVRマイコンにはFUSEビットという設定項目があって書き込み機とAVRStudioというソフト*1を使ってこれを設定するのですが、この設定値を間違えて書きこむとそれ以降の書き込みができなくなることがあります。*2
自分はMusasuinoの組み立てのときにそれをやってしまいました。
間違った設定をよく見てみるとマイコンの動作クロックを得るために外部の発信機を使うという設定にしていたようです。自分はこのときマイコンチップに外部発信機をつないでいなかったので*3そのためにマイコンチップが動作せず、書き込み機との通信ができないためにこのような問題が起こると考えました。
そこで以前よくわからずに買った11.776MHzの水晶発振器*4を取り付けてみたところ書き込みができるようになりました。
水晶発振器から出る三本の脚をAVRマイコンのVCC,GND,XTAL1端子に接続するだけでOKでした。
AVRで外部発信機を使う場合は特定の規格に則ったものをつかわなければいけないと勝手に思っていたのでこれでいいのかとちょっとびっくり&ラッキーと思いました。
ちゃんと動かしたいときは適当ではだめだと思いますが、こうしたトラブル対応には十分役立ちますね!

*1:AVRStudio以外にも書き込みを行うソフトはいくつか存在するようです

*2:書き込みを行おうとするとパソコンでエラーメッセージが表示されます

*3:チップ自体にも発振器が内蔵されており、それを使用するように設定することもできるので

*4:秋月で安売りしてたので