Enginius/C / C++
using enum in switch()
해리s
2012. 2. 14. 12:38
void test1(void)
{
typedef enum
{_IDLE, _FORWARD, _RIGHT, _LEFT }
MOVE_STEP;
unsigned char suction_flag = 0, rmc;
MOVE_STEP step = _IDLE;
Initialize_AccSlipCheck();
while(1)
{
AccSlipCheck();
rmc = GetRemocon();
switch(rmc)
{
case RMC_STOP:
step = _IDLE;
break;
case RMC_FORWARD:
step = _FORWARD;
break;
case RMC_RIGHT:
step = _RIGHT;
break;
case RMC_LEFT:
step = _LEFT;
break;
case RMC_BLOWUP:
suction_flag = 1;
break;
case RMC_BLOWDOWN:
suction_flag = 0;
break;
}
switch(step)
{
case _IDLE:
DriveStop();
break;
case _FORWARD:
DriveVelocity(25.0, 0.0);
break;
case _RIGHT:
DriveVelocity(0.0, -25.0);
break;
case _LEFT:
DriveVelocity(0.0, 25.0);
break;
}
if(suction_flag)
SuctionMotor(SUCTION_HIGH);
else
SuctionMotor(SUCTION_STOP);
}
}