PCs are dumb. They have to be set up to accept certain size lumps of bits (called bytes) as valid data at a certain speed - if you encode data in 7 bit ASCII and the PC is expecting 8 bit ASCII you'll get garbage - if you send each bit in 1/56000 seconds when the PC is expecting each bit to take 1/2400 seconds to arrive you'll probable get nothing. PCs don't just sit around waiting for bits to come in the serial port, they have a special way of being signalled that bits are about to arrive. I think I've got the logic right in the following explaination, but not having a technical ref in front of me I'll probable get it backwards (help from experts accepted). The line into the PC serial port *MUST* be held Hi by the external device to indicate that the line is idle. When the external device wants to send something it toggles the data line from its mark state (Hi) to its space state (Lo) for a specific time period - this is called a 'start bit'. Immediately after the start bit each bit of the data byte is sent. Another time period in the idle state is added at the end of each byte, called a 'stop bit', then the whole thing has to be repeated for the next byte. It is up to the programer to detect the start bit and each following data bit in the byte. Your detection should start about 1/3 to ¸ of a bit time from the end of the start bit time to reliably sample the middle of each bit. Typical data comms uses 1 start bit, 8 data bits, (No parity) and 1 stop bit for a total of 10 bits per byte sent. The start and stop bits are always Hi and allow re-synchronization if the timing is a little out. Most comms programs will expect ASCII, but you could pack values into your data, allow it to be captured as ASCII and then 'unpack' the bit patterns from the ASCII characters. Hope this clears up what you need to be doing. Bye. -----Original Message----- From: Saurabh Sinha [SMTP:ssinha@IEEE.ORG] Sent: Thursday, 13 April 2000 4:13 To: PICLIST@MITVMA.MIT.EDU Subject: Serial communication Hi, I needed to establish communication between a PIC and a PC. I am sending bits serially at 9600 baud to Port-A. Someone told me that this is not going to work, and I should send ASCII characters to the PC as the PC stands ASCII characters. I don't understand this...could someone please explain or refer me to an URL... Thanks in advance for your reply. Regards, Saurabh