stevech:
to transmit on an AM cheap radio, I suggest that a standard UART is unlikely to work. Most software implementations I’ve seen toggle an output pin using simple code to take the data, shift it, XOR it to yield manchester, etc.
The uart approach might work if you use a lookup table or, as listed above, a state machine, to preclude too many succssive ones or zeros.
And I would to say that it can work without having to resort to specialized transmission protocols. See this [SFE thread which includes sample code. I am using the UART in the PIC and no special encoding (Manchester or otherwise). I am getting reliable results at 100+ feet using the 433Mhz version of the TX/RX pair. As always, your mileage may vary. :)](http://www.sparkfun.com/cgi-bin/phpbb/viewtopic.php?t=4222&highlight=)
yes - so long as the limit on not-too-many-same-bits-in-a-row limit is held, as a function of the AGC time constant. We have no control over UART start and stop bits of course.
I found what aparently is a very simple solution for the sync problem… I made the transmitter send a “preamble” (a lot of “1”'s), and the receiver must wait for that preamble… Since it’s a very noisy environment, the probability of occurrence of that preamble because of the noise is veeery low, and if it happens, the packet will be discarded because of the crc anyway…
This worked for me, also lowering the baud rate to 2400 bps, and i didn’t need to implement manchester encoding (or any other complex bitstream encoding)… Just sent the data NRZ (like rs232)…