参考:http://physicom.digick.jp/?tag=avrisp-mkii
このページとまったく同じミスをおかした。こんなミスしねーよと思いながら、配線を間違え小一時間悩む。その間に電源確認のために2VのLEDを5Vに挿し破裂させた。電気って怖い。
そんなこんなで、プログラムをうまく書き込めた。(もちろんAVR StudioとWINAVRを使用)
配線の仕方はAVRピンの名前のカッコ内に書いてある名前と対応するものを繋げ、VCCとGNDは直に繋げる。参考ページを見ればたぶんわかる。
PORTD0,1からLEDにつなぎLEDからGNDにつないでLEDをパカパカしようと思ったらできない。どうやらPORTD0は出力で使えないみたい(接触不良でした)。それと、for文で時間稼ごうと思ったらぜんぜんできないみたい。なんか最適されてるのかな。しょうがなく初DELAY関数を使った。
int main( void ){
DDRD=0B00000110; /* PD1,2を出力に設定する */
for (;;) { /* 無限ループ */
PORTD=0B00000010;
_delay_ms(1000);
PORTD=0B00000100;
_delay_ms(1000);
}
}
これを実行して見事パカパカになり、AVRISPとAVRのテストが終了。他のポートもやらないとPORTD0のようなことがあるかもしれないが、そのときはそのとき。
0 件のコメント:
コメントを投稿