Pi:Co Classic2 製作記(移行中)

2015年新人研修 マイクロマウス編(38)

こんにちは。

本日はまずwhile文から勉強しました。

while(1);

のときその中身は永久ループします。

while(0);

のときその中身は発動しません。

while(1){
  if(         )
  break;
}

のとき発動した後止まります。

今日作ったプログラムがこちら↓

void sura(void)	//直線走行
{
   int obj_step;		//目標ステップ数

   r_accel = accel;				//加速度(後で指定方法を変更すること)
   step_r = step_l = 0;		//ステップ数カウントのリセット
	
   con_wall.enable = false;		//壁制御を有効にする

   MOT_CWCCW_R = MOT_CWCCW_L = MOT_FORWARD;		//前方に進む

   MTU2.TSTR.BIT.CST3 = MTU2.TSTR.BIT.CST4 = 1;	//カウントスタート
	
   while((step_r + step_l) < (LEN2STEP(90*PI/2)));
	
	MTU2.TSTR.BIT.CST3 = 0;					//モータのカウントをストップ
	MTU2.TSTR.BIT.CST4 = 0;					//モータのカウントをストップ
	
}

きちんと今日のミッションである90°曲がって止まらせることができました!

それでは最後に本日のオフショットです。

IMG_0041_R

IMG_0043_R

IMG_0044_R

IMG_0045_R

IMG_0046_R

タイトルとURLをコピーしました