* 回路を組み立てる [#q62983ee]

ブレッドボード上に回路を組み立てます.~

電源だけつなげれば動きますが,何も出力が無いと動いているのかどうか 分からないのでLEDとか付けてみましょう.~

&ref(circuit01.png);

ライタを繋ぐために,RESET,Vcc,GNDの3本を 適当な場所に並べて引き出して置いてください.

&ref(board01.jpg);

USBから電源を取るのが嫌な人は5VのACアダプタ等を繋いでください. 3Vあたりでも動いたりするので乾電池2本でも大丈夫だとは思います.

* AVRに書き込み [#n6ea1a5b]

AVRにプログラムを書き込みます.やっとです.~

下のようにライタのケーブルを接続してください. 良く見えなければ回路図を見てピンの名前で判断してください.~

&ref(board02.jpg);

** ヒューズの設定 [#q8a443db]

AVRのヒューズを書き換えて適当に設定します. ヒューズというと一度書き換えると終わりみたいですが,何度も書き換えられます.

デフォルトでは,1MHzで動作しているので,8MHzに設定を変更します. 別の周波数で動作させたい場合は,外部クロックを繋ぐ必要があります.

    hidspx -ph -d10 -fl11100010

たぶん,こんな感じで. 変な設定にすると,ヒューズを書き換えられなくなる(つまり元に戻せない)ので 注意してください. (パラレルライタというライタを使えば元に戻せるので,やってしまったら言ってください)

** サンプルプログラム [#g0719d41]

    #define F_CPU 8000000
    #include <avr/io.h>
    #include <util/delay.h>

    void delay_ms(uint16_t t) {
       while (t--) _delay_ms(1);
    }

    int main()
    {
        DDRD = 0xFF;
        for(;;) {
            PORTD = 0b0011;
            delay_ms(500);
            PORTD = 0b0000;
            delay_ms(500);
        }
    }

古いgccだと0bxxxで数値を二進表記できないかもしれません.

** コンパイル&書き込み [#ob693247]

    avr-gcc -mmcu=atmega88 -Wall -O2 test.c
    avr-objcopy -O ihex -R .eeprom a.out test.hex
    hidspx -ph test.hex


LEDが点滅すればOK.
total: 37393  / today: 1  / yesterday: 1  / now: 1

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS