丁度Arduinoにも興味があったのでArduinoのIDEから書き込みできるようにすることを思い立つ。
が、またFUSEビットを間違ってしまう。
B041にはATmega8を載せているが、別のプロセッサの設定「low(0xf8), high(0xdd)」を書き込んでしまう。
これはATmega8ではExternal RC OSCを選択することを意味する。
Arduinoの設定ファイルの編集間違いが原因だ。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisN9qNvhWxnDzJrWAc02kP2kbfoNsH-RNEm9riHsK-UWaWcz6a41Vk2uLIhtyiCn4HB_0lwaqlrzewHk5-8-QrGsVINWBV7pAURSR_f9cEwc0JmxKPjblzCDUdU3haC11IY1mse1zFhErz/s200/ClockConf.jpg)
B041はInternal RC OSCで動かす設計なので当然クロックは発振しない。
間違って設定したFUSE値がわかっているので前述のようにどういう外部回路にすれば良いかわかる。
今回は幸いにも簡単な外部回路で済みそうだ。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5fxkkQ7OaIUf16rDjyJST_3hQYIw5-QaPtH_SkKKcD3fkzuZGmlZadOsWnGYw7Ar6BPnXpeKM0oddjHO8TMycQV85VEFRTyvNSXL7zOTFH58Woze131vxSe_SMsnh6VCgsCEzHhi6D5_k/s200/JumperForInternalRCOSC.jpg)
部品箱にあった抵抗を一本(本当に適当にとった抵抗330オーム)取り出して半田付け。
AVRISP mkIIを接続して試したところシグネチャが読めた。
クロックは良さそう。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzPnlfQu0Odp0PDzfzCdz-HwqXhq2DEtUS_a26fq7oUDKlNhrNVJDXYlYhbUMO2f2rdMQhZqoDjvvpVVXptUX7pPW0X3wc9Kf_lP9RrMOM11wbsDS-X06RhTHYMCQGOkbIWycTXFvwD9B_/s200/FuseAtATmega8.jpg)
すぐさまFUSEを所望の値に書き換えて元に戻した。
提供する基板もこの辺りを扱いやすいようにしないとなぁ。
0 件のコメント:
コメントを投稿