AVRで学ぶ、はじめてのマイコン 練習2をCで書き直し

AVRで学ぶ、はじめてのマイコン」の練習2を
C言語で書き直してみました。

---------------------------------------------------------

#include
#include

void wt( int );


ISR ( INT0_vect )
{
PORTB = 0b00000001;
wt(800);

PORTB = 0b00000010;
wt(800);

PORTB = 0b00000100;
wt(800);

PORTB = 0b00001000;
wt(800);

PORTB = 0b00010000;
wt(800);

PORTB = 0b00100000;
wt(800);

PORTB = 0b00000000;

}


int main( void )
{

DDRB = 0b00111111;
MCUCR = 0b00000011;
GIMSK = 0b01000000;

sei();

while(1){
wt(800);
}
}


void wt( int turn)
{
int i,j;
for(i = 0 ; i
for(j = 0; j<100 ; j++){

asm("nop") ;

}

}

return;

}


---------------------------------------------------------


これで、教科書と同じ動作をしました。


やはり、Cだと実行ファイルの容量が3倍になりますね。


アセンブラー:  370バイト

C     :1,114バイト



簡単なプログラムならアセンブラーで組んでもいいですが、


込み入ってくるとやっぱりC言語でしょう。


何か最適化する手段はあるのでしょうか。


因みに Win AVR を使っています。


ご存知の方教えてください (T_T)

この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。