It's not something I have done directly, but I wanted to receive and = transmit at 115.2kbaud most of the time, but at some times receive at = 4800baud whilst still transmitting at 115.2kbaud. I did this by connecting= one PIC pin directly to the RS232 interface chip, with the TX pin = connected via a 10k resistor. With the pic pin set as an input (high = impedance) the TX pin drives the interface chip. With the pic pin set as = an output, it overrides the output from the TX pin and I could bit bang = out at 115.2kbaud whilst still receiving at 4800baud on the RX pin. Martin >>> William Chops Westfield 06/10/01 01:32AM >>> Just about every UART made has the ability to transmit a BREAK condition. This allows you to use the TX pin as an output by just going back and forth between IDLE and BREAK. mChip didn't see fit to include this capability in their UART. Some protocols (eg: DMX-512) _require_ the ability to send a break. Fortunately, there are all sorts of tricks developed over the years for sending a break when your hardware and/or API doesn't permit it. The most generic method is to set the transmit bit rate absurdly slow (much lower than the actual desired transmission rate) and send a zero. This requires split bitrate capability, or that you be able to ignore reception of data for the duration of the break (and a bit more.) On a PIC, if you want to send a BREAK, and can afford to lose reception "near" that time, you ought to be able to disable the uart, send the appropriate state out the pin as = a direct output, and then re-enable uart... BillW -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads