I've been working with the MAX3110/1 which gives an additional hardware UART over a serial bus. As a bonus, it has a RS232 transceiver. I started using these because my software uart routine always seemed a little sub-par. Here is an excerpt from the data sheet, perhaps you will find it helpful:
The MAX3110E/MAX3111E combine a full-featured universal
asynchronous receiver/transmitter (UART) with
±15kV ESD-protected RS-232 transceivers and integrated
charge-pump capacitors into a single 28-pin
package for use in space-, cost-, and power-constrained
applications. The MAX3110E/MAX3111E also
feature an SPI™/QSPI™/MICROWIRE™-compatible
serial interface to save additional board space and
microcontroller (µC) I/O pins.
Cheers,
Ian
Alan B. Pearce wrote:
{Quote hidden}>>Turns out I need to add another serial port, so the only parts that
>>support two UARTS are the dsPICs (right?). So, is the migration path
>>pretty easy to move code running on an 18F to a dsPIC, other
>>than the setups etc.
>>
>>
>
>No you have two possibilities.
>
>1. There are some 18F chips with two hardware UARTS, but they come in the 64
>pin TQFP package IIRC. Check the 18F family selection charts on the
>Microchip website.
>
>2. The C18 compiler has a software UART you could use for a second UART. At
>a pinch you could probably make the demo version of the compiler produce
>either a linkable module or a assembly language output if you do not want to
>use C.
>
>