283967 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

NXTな毎日につられる日々

NXTな毎日につられる日々

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Keyword Search

▼キーワード検索

Profile

ぽよこまだんな

ぽよこまだんな

Calendar

Rakuten Card

Favorite Blog

まだ登録されていません

Comments

chocola@ロボットモード@ Re[2]:ちょっと組み立て(02/05) ぽよこまだんなさん、早々のお返事、あり…
ぽよこまだんな@ Re[1]:ちょっと組み立て chocola@ロボットモードさん、こんばんわ…
ぽよこまだんな@ Re[1]:日本大会2014、注目ロボット 関西人さん、こんばんわ コメントありがと…
chocola@ロボットモード@ Re:ちょっと組み立て(02/05) 少し前の記事なのに今頃すみません。 iMod…
関西人@ Re:日本大会2014、注目ロボット(03/24) 日本大会、ありがとうございました レスキ…

Freepage List

Headline News

2009.07.06
XML
カテゴリ:NXT
さて、前回の続き
やっぱり、モーター関係の関数をラップして使った方がよい
みたいなので、早速マクロ化の修正
--------------
//Motor output
#define OUT_LEFT OUT_A
#define OUT_RIGHT OUT_C
#define OUT_BOTH OUT_AC

//Motor direction
#define DIRECTION -1

//speed
#define SPD_TRACKING 50
#define SPD_SLOWMOVING 30

//Motor Function Macro
#define OnFwdDir(a,b) OnFwd(a,(DIRECTION)*(b))
#define OnRevDir(a,b) OnRev(a,(DIRECTION)*(b))

task main()
{
 while(true) {
 OnFwdDir(OUT_LEFT, SPD_TRACKING);
 OnFwdDir(OUT_RIGHT, SPD_TRACKING);
 Wait(1000);
 OnRevDir(OUT_BOTH, SPD_SLOWMOVING);
 Wait(1000);
 Off(OUT_BOTH);
 }
}
--------------

OnFwdDir、OnRevDirというマクロを2個定義して
それぞれのモーター関数の速度指定の所に方向指定の演算を追加します
通常マクロは全部大文字にするのですが、
この場合は関数のラップなので、小文字も使用しています。

1パスのCコンパイラだと関数名を同じ名前にする事も可能なのですが、
NXCだと怒られました^^;
#defineの定義順がおかしくても、正常にコンパイル出来るあたり
数パスのコンパイラのようです。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2009.07.06 22:34:35
[NXT] カテゴリの最新記事



© Rakuten Group, Inc.
X