I changed the baud rate setting from 396 to T2400 and the correct data was sent out. What's the difference between 396 and T2400? I don't know. Something similar to this happened before and I ended up using N2400 when a line driver is not used. I didn't see a reference to T2400 in the book.

Is there a way to clear the output buffer in the PIC 16F628a? The PIC sends a D0 first time, every time. Nowhere in the program do I load a D0. When I send the proper data twice, the receiving program discards the D0 and recognizes the correct data and accepts that. Strange.

Thanks for all suggestions earlier.

B