こんにちは。
本日はまず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°曲がって止まらせることができました!
それでは最後に本日のオフショットです。