Подумал, и написал.. Скромненько и компактно. Изменненая функция readdata() для моего кода выше. Пожалуйста пользуйте, кому нужно.
PHP код:
int readdata() //Эта функция возвращает начение переменной в int, введенной в Serialmonitor
{
byte getByte;
int outByte=0;
do
{
while(Serial.available()!=0)
{
getByte=Serial.read()-48; // Вычитаем из принятого символа 48 для преобразования из ASCII в int
outByte=(outByte*10)+getByte; //Сдвигаем outByte на 1 разряд влево, и прибавляем getByte
delay(500);// Чуть ждем для получения следующего байта из буфера (Чем больше скорость COM, тем меньше ставим задержку. 500 для скорости 9600, и приема 5-значных чисел)
}
}while (outByte==0); //Зацикливаем функцию для получения всего числа
Serial.flush(); //Вычищаем буфер (не обязательно)
return outByte;
}