So confused by TX RX serial communication!

SamuelCB:
So am I correct in thinking that you cannot read what has been sent in the serial monitor ...

If you use "print" or "println" to put the value into the serial object, it's going to be converted to an ASCII string. So using "print(19)" results in the serial object sending bytes (ASCII codes) 0x31 (49) and 0x39 (57) [plus '\r' (0x13) and '\n' (0x10) if you used println]. If you want to read back a binary value, you have to use the write() function rather than the println function. The write() function will send the raw bytes, without converting them to "human readable" ASCII output. The write() function also will not append the \r\n (CR-LF) values that println() does. If you use the print functions, the receiver has to convert back from ASCII to binary, if the binary is what the receiver cares about.