こんばんは。 すっごいですね、ご自分の作られたロボットが動くと楽しそう♪ ハードは、門外漢なので、ソースのところでコメントさせてください
---ここから //各チャンネルパルスカウントルーチン //gcount:1回50μSのカウントを数える。 void ch_out() { gcount=0; while(IRSIG==LOW){ delay_us(50); gcount++; } while(IRSIG==HI){ delay_us(50); gcount++; }
} -----ここまで
この関数を //各チャンネルパルスカウントルーチン //gcount:1回50μSのカウントを数える。 int getPulseCount() { int gcount=0; while(IRSIG==LOW){ delay_us(50); gcount++; } while(IRSIG==HI){ delay_us(50); gcount++; } return gcount; }
にして、現在の ch_out();
しているところで gcount = getPulseCount(); すると可読性があがると思います。 (関数名を変えたのはなんとなくです(^^ゞ)
さらに、 メインルーチンの while(1){//ギャップ検出ルーチン gcount=0;
箇所を while(1){//ギャップ検出ルーチン int gcount=0;
にして、変数をグローバルからローカル変数に局所化すると、Goodかなぁと思いました(^^)
[No.563] 2006/02/12(Sun) 21:12:58 |