this might give you some ideas
void
pcRead (void)
{
static long val = 0;
static int sign = 1;
if (Serial.available()) {
int c = Serial.read ();
switch (c) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
val = c - '0' + (10 * val);
Serial.println (val);
return;
case ' ':
val = 0;
sign = 1;
return;
case '-':
sign = -1;
return;
case 'c':
capture = val;
val = 0;
break;
case 'D':
debug = val;
val = 0;
break;
case 'd':
status();
break;
case 'K':
pidKd = val / 100.0;
val = 0;
break;
case 'M':
maxPwm = val;
val = 0;
break;
case 'm':
mode = val;
val = 0;
break;
case 's': // stop
SetSpeed(0);
status();
pos = 0;
maxPer = minPer = 0;
break;
case 'v':
Serial.println (VERSION);
break;
break;
case '?':
Serial.println (" [0-9] 10*val + digit");
Serial.println (" sp val = 0");
Serial.println (" - sign = -1");
Serial.println (" v version");
break;
default:
break;
}
}
}