in reply to Re^4: How to read serial port with WIN32:SerialPort?
in thread How to read serial port with WIN32:SerialPort?

The MAX3140 datasheet description of 9bit mode:

The MAX3140 supports a common multidrop communication technique refe +rred to as 9-bit mode. In this mode, the parity bit is set + to indicate a message that contains a header with a desti +nation address. Set the MAX3140ís parity mask to generate int +errupts for this condition. Operating a network in this mode + reduces the processing overhead of all nodes by enabling the + slave controllers to ignore most message traffic. This reliev +es the remote processor to handle more useful tasks.In 9-bit + mode, the MAX3140 is set up with eight bits plus parity. T +he parity bit in all normal messages is clear, but is set +in an address-type message. The MAX3140ís parity-interrupt mask g +enerates an interrupton high parity when enabled. When the mas +ter sends an address message with the parity bit set, all MAX3140 n +odes issue an interrupt. All nodes then retrieve the received b +yte to compare to their assigned address. Once addressed, the nod +e continues to process each received byte. If the node was not addr +essed, it ignores all message traffic until a new address is +sent out by the master.The parity/9th-bit interrupt is controlled onl +y by the data in the receive register and is not affected by data in +the FIFO, so the most effective use of the parity/9th-bitinte +rrupt is with FIFO disabled. With the FIFO disabled, received non-ad +dress words are ignored and not even read from the UART.

The parity bit that this is referring to is a bit in an on-chip transmit control register. This register has to be modified to cause the chip generated parity bit to be set to indicate an address byte. And then be modified again to turn off address-mode.

My guess is the Device::SerialPort module doesn't use it's parity argument for this purpose.


There's never enough time to do it right, but always enough time to do it over...