When i try to serial read the character 'A' into an integer ser_in1 and print ser_in1, it prints 65-1, however it prints the ascii values for other characters correctly. Why is this? I have used this in the past and it has worked.
-1 is what you get if you Serial.read() when there is nothing in the buffer. Serial.available() said something was ready, but if only one char is ready, then you should only attempt one Serial.read().
65 == 'A'
-1 == don't read from Serial.read() if nothing is Serial.available()
66 == 'B'
-1 == don't read from Serial.read() if nothing is Serial.available()
49 == '1'