実験するのに段々基板を準備するのが面倒くさくなってきました(おい)。
で、よくよく考えてみると、8MHzのArduino(つまり、3.3V版)としてブートローダを焼いて、その後ヒューズビットを内蔵8MHzオシレータ利用、分周なしに設定すればリセット周りの外付け部品(10kΩの抵抗と0.1uFのコンデンサ)とパスコンだけで動作するのではないかと考えました。
- ボードの準備
ブレッドボードにATmega328pをセットし、電源とAVRISP mkIIを接続します。クリスタルの端子には8MHzのセラミック発振子をつないでおきます。 - ブートローダの書き込み
Arduino IDEを起動して「Board」で「Arduino Pro or Pro mini (3.3V,8MHz) w/ ATmega328」を選択し、「Burn Bootloader」で、「AVRISP mkII」を選択します。すぐにブートローダの書き込みが終わります。 - 動作確認
19pinにLEDを接続して、ExampleのBLINKを選択し、コンパイル&書き込みを行います。LEDがチカチカすればOK。 - avrdudeでヒューズビットを確認
「# sudo avrdude -c avrisp2 -p m328p -P usb -t」としてターミナルモードを起動
EFUSE=0x05、HFUSE=0xda、LFUSE=0xffとなっていました。LFUSEの値から、8~16MHzのクリスタル設定になっています。 - 発振回路設定の変更
内蔵RC発振回路とするため、CKSEL=0010、SUT=10に変更します。つまり LHUSE=0xe2 に変更します。
「>>> w lfuse 0 0xe2」としてヒューズビットを書き込みます。 - セラミック発振子を外す
セラミック発振子を外した状態でプログラムのダウンロード・実行ができればOK・・・のところですが、DTR信号でのリセットがかからないようです・・・(涙)
もう少し調べてみる必要がありそうです。