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)

激安パソコン:一円〜

新品PCなのに倒産品で1円あり!!

☆★ ノートPC ★☆
ノートPC 12インチ以下
ノートPC 13.3〜15.4インチ
ノートPC 17インチワイド以上

☆★ デスクトップPC ★☆
一体型
セパレート型
単体型
PCサーバ
ワークステーション

☆★ 中古PC ★☆
中古パソコン激安の店ホットラインワールド:1円パソコン発祥の店!
中古PCのデジタルドラゴン:激安1円PC! 中古なのに永久保証!
中古ノートPC:量が豊富です!
中古デスクトップPC(モニター付):量が豊富です!
中古デスクトップPC(モニター無し):量が豊富です!
posted by ジョー at 00:26 | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

C言語 AVRマイコン編

教科書:「AVRで学ぶ、はじめてのマイコン」


練習1をCで書き直し

練習2をCで書き直し

練習3をCで書き直し





教科書:「試しながら学ぶAVR入門」
(製作中)



教科書:独自のプログラム
(製作中)







posted by ジョー at 23:46 | Comment(0) | TrackBack(0) | C言語AVRマイコン | このブログの読者になる | 更新情報をチェックする

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

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

----------------------------------------------------
#include

void wt( int );

int main( void )
{

DDRB = 0b00111111;

while(1){
PORTB = 0b00000001;
wt(800);
PORTB = 0b00000010;
wt(800);
PORTB = 0b00000100;
wt(800);
PORTB = 0b00001000;
wt(800);
PORTB = 0b00010000;
wt(800);
PORTB = 0b00100000;
wt(800);

}
}

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

asm("nop") ;

}

}

return;

}


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


非常にシンプルです。


動作は全く同じです。


但し生成されたファイルの大きさが全然違います。


アセンブラー:300バイト

C言語   :934バイト


3倍に膨張しました。このコンパイラーは一体何を付け加えた
のでしょう。

逆アセンブルする手段があったら見てみたいと思いますが、
かなり手間かかるだろうなぁ〜。


タグ:AVR

試しながら学ぶAVR入門

試しながら学ぶAVR入門を読んでます。

PWMを利用した調光器を製作しました。
動けば感動しますねぇ。

現在、ビーパーを利用したオルゴールを製作中です。

ビーパーって電圧を加えればかってに鳴るものと思ってました。
違うのですね。

著作権が切れた曲でないと、ヤフオクとかでも売れないんだろうな〜。


それでは・・・
posted by ジョー at 11:33 | Comment(0) | TrackBack(0) | 試しながら学ぶAVR入門 | このブログの読者になる | 更新情報をチェックする
×

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