On Tue, 18 Aug 1998 12:38:07 -0600 Justin Crooks writes: >Welcome to the world of RF. An easy way to ignore noise is send a >difficult-to-duplicate prefix character before each data character. For this and other reasons, synchronous data is usually used for RF transmission. A fairly long (such as 32 bits) "preamble" sequence can be used to be quite certain of starting reception at the right time. I assume you are using simple AM transmitters with the start bit being RF on and the idle condition RF off. The regenerative receivers commonly used with these transmitters cannot handle much DC component in the data signal. Asynchronous data has a large DC component. Usually Manchester or similar coding is used to ensure that there is no long run of one polarity of data. If you must persist with asynchronous, it can work, but not as well as a more optimal method. One way around the DC problem with asynchronous would be to use only some bits in each character as valid data, and set the extra ones so the signal has low DC content. Here are some thoughts on implementing an asynchronous system. First consider that the receiver may be in the middle of a character (or worse, it thinks it is reciving a valid packet) that started from noise when your data arrives. Thus there's a need to send some "don't care" data before starting with real data. It would be good to send a couple of all zero characters first to charge up the coupling capacitor in the receiver. Then send a character of all ones (only the start bit is zero) to let the receiver synchronize so it will start on the start bit of the next character. Now it should be safe to send data. You probably want to start each data with a specific sequence of characters to differentiate it from noise (remember the receiver may not receive the 00 00 7F sequence properly, so don't require it to). Ideally the synchronizing character(s) should be ones that would never occur in valid data (One possibility would be giving them intentionally bad parity). It's probably best to always send the same number of data characters. If you let the number vary, if the receiver misunderstands the number of characters to be transmitted, it may still be expecting more data from the last packet when the next one arrives. It may also be good to use parity on each character and cancel reception immediately if a character with bad parity (which includes the "don't care" data before the start of a new packet) is received. The packet would not be useful anyway. Of course, include a checksum or CRC in the data. This is just a final check for any errors that occurred during transmission and not the primary determination of whether the transmitter is really on the air or not. If you waited to receive a whole packet before deciding that it is bad, there would be a lot of lost data due to false starts. _____________________________________________________________________ You don't need to buy Internet access to use free Internet e-mail. Get completely free e-mail from Juno at http://www.juno.com Or call Juno at (800) 654-JUNO [654-5866]