I used to do all my serial work with code on 16C57, but now I'm heading towards 16C63, and like the sound of the built-in serial support: the data rate is easily changed just by loading a register, the built in support generates all the timing for the selected speed. I did some experiments with PICMaster 16C65 pod J and noticed something strange. When working with a PC, the signals going in both directions needs to be inverted. For example, the 'rest' state of the PIC RX/TX data lines is high, start bits are low, stop bits high. Whereas the PC uses a rest state of low, high start bit and low stop bit. The PC has all data bits inverted though. I did an experiment with a bit of software to copy and invert the TX data port to another port (which is wired to DB9) and to monitor RX data (from the DB9 and few into an 'ordinary' port), toggled and output to another 'ordinary' port connected by a wire to the RX data port (does this all make sense?), and it worked fine. I just reconfigured to a 16C63, but I haven't got that working yet, I had to move a few ports around, I'll debug that in the morning. So, my question is: has anyone else noticed this data inversion? Is there a solution in a bit configuration on the PIC, some simple wiring change I need to make, or do I need something simple like an open collector and pull up to invert the data? It seems strange that PIC should be inverted from PC without some simple workaround.