[ リストに戻る ]
No.563に関するツリー

   自走ロボットのソースについて - logicmind - 2006/02/12(Sun) 21:12:58 [No.563]
Re: 自走ロボットのソースについて - たけてぃ - 2006/02/12(Sun) 22:03:47 [No.564]



並べ替え: [ ツリー順に表示 | 投稿順に表示 ]
自走ロボットのソースについて (親記事) - logicmind

こんばんは。
すっごいですね、ご自分の作られたロボットが動くと楽しそう♪
ハードは、門外漢なので、ソースのところでコメントさせてください

---ここから
//各チャンネルパルスカウントルーチン
//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
Re: 自走ロボットのソースについて (No.563への返信 / 1階層) - たけてぃ

Logicmindさん、こんばんは。

アドバイスをありがとうございます。
プログラムも継ぎ足しで作っていったら
激しいスパゲッティ状態になってしまいました。
特に、最新作の自走ロボプログラムの1ch制御部分は
もう・・・(^^;)。

Logicmindさんも、ぜひ、PICを始めませんか?。
ハード部分はそれほど難しくないので、
ソフトで勝負!というのがPICです。
なかなか楽しい世界です。
超小型ヘリの世界が待ってますよ。


[No.564] 2006/02/12(Sun) 22:03:47
以下のフォームから投稿済みの記事の編集・削除が行えます


- HOME - 新規投稿 - お知らせ(3/8) - 新着記事 - 記事検索 - 携帯用URL - フィード - ヘルプ - 環境設定 -

Rocket Board Type-T (Free) Rocket BBS