Error getting full string input for ipv6 r/c car

Hello, I am trying to read all the data that is being received by the Arduino, but cannot get it to properly receive more than one byte's worth of information. Help?

Here is my code...

long input;
  if (Serial.available() >= 2){
      input =;
if (input == (byte)'13'){digitalWrite(12, HIGH);}
if (input == (byte)'14'){digitalWrite(12,LOW);}

This will not work (at all). When I change "long input;" to "byte input;" it will read one byte, but I need to be able to send numbers ranging from 2 to at least 999. I have seen a lot of posts similar to this, but not exact.

Thank you for your time.


How are you sending the data? If you are sending an integer as 2 bytes, there is one solution. If you are sending the integer as a string, there is another solution.