In my serial application I am setting the second port to 9600 8E1.

define HSER2_BAUD 9600
DEFINE HSER2_BITS 9
define HSER2_EVEN 1
DEFINE HSER2_CLROERR 1

These are the only DEFINEs I am using. I am not manually setting HSER2_RCSTA or HSER2_TXSTA.

What I do not understand is that when I monitor the output using serial port tools like RS232 Analyzer, Teraterm or Termite it doesn't seem to matter what I set those terminal programs to as long as the baud is correct and the databits. The information is received correctly regardless of the settings for parity and stop bits in any of those applications.

Do I have a misunderstanding of the RS232 protocol? If I set the parity to Even or Odd shouldn't that cause the data to be bad? How about the stop bits?

I ask because my 18F24K22 will be communicating to an old 386 based PC. An no it isn't the old computer from Hubble. Anyway, that PC will simply not accept any command I send it. I have monitored the communications sent by this PC. If I set the monitor software to 9600 8E1 then the data sent by that 386 is received correctly. If I set it to 8N1 the data displays incorrectly in any of the monitor software. I believe this confirms the 386 pc is using 9600 8E1.

Am I missing something about how all this works?
Is there any other way I can better analyze this information?

Thanks