---------- > The more I learn the more complex my problems! > > I have written my first PIC serout routine and it doesn't work. .....snip.... > I am using a BS2 to initialize the > "handshake" and receive the serial data and display it on a LCD. So the challange is to get the serout routine to work. Simplify, simplify, smplify! Remove all but the serout stuff from the program. Send 5 bytes that are 'hard wired into the program (constants). Get this to work first and then start adding the rest of the program. If you feel brave, all all the rest at one time, else add parts slowly and insure that they work before adding the next part. You ran the thing on the simulator, now use the Pic as a 'sortof simulator' to slowly get the parts to run. The key to your program seems to be the serout. After getting this to run, than it can be used to test other parts of the program. When you need to simulate a routine for testing reasons, keep the simulation of the routine simple. It looks like you can simulate the whole program, except the serput routine, by just putting 5 bytes into registers. So put 1,2,3,4 and 5 into registers and then see if the serout can serout them. One place of interest may be the bit timming for the serout. If this is done in software with NO interupts involved, then it may be ok. If there are interupts involved then simulate the interupts as the next step in debugging. Using a basic stamp as a test device is a nice touch. But do you know for sure that the basic stamp is working as you intend? When two things work together, you know they work. When they don't, you know one or both don't work, and that is all you know. In conclusion, get something to work, then add stuff to it and get them to work as you add them. Or break the program up into parts and get each part to work first, then add the parts together. Just try to keep the unknown to a minimum. Bill C. bill@cornutt.com