While it is normal in modern systems with error-corrected links to set serial ports up with no parity, there will be occasions when enabling detection of parity errors is both useful and desirable.
There are a number of different ways that parity errors can be handled:
ignore parity errors and discard any bytes with bad parity
replace bytes received with bad parity with the iParityErrorChar
character
immediately complete any read operation with a KErrCommsParity
error
Implementing any of the available options is simply a matter of using the TCommConfig
package to change the value of iParityError
. The value of iParityErrorChar
can be changed in the same way.
Note that iParityError
can be masked with KConfigXonXoffDebug
. This has no effect on parity error control at all. It is an internal developmental debugging control which forces the high water mark to software flow control level of 5 bytes below 50% level instead the usual 75% level, irrespective of whether software flow control is enabled or not.