Behaviour of Mega (1280) Serial

Hi there,

I think this forum might be the best fit for my question:

One of my Arduinos (an Uno) has an RF transmitter (RF Link Transmitter - 434MHz - WRL-10534 - SparkFun Electronics) attached to it. My Mega has the matching RF receiver (http://www.sparkfun.com/products/10532) attached to it.

I've written a simply program for both halves. The transmitter sends the number "10" repeatedly using Serial.write(10) and the receiver reads it using Serial.read() and then prints out an error rate to the screen. This works fine until I unplug the power from the transmitter and plug it back in. Then the receiver's serial receives no data until I disconnect and reconnect the "data out" line connecting the RF receiver and the Mega's RX port.

I have a feeling this has to do with something in the hardware of the Arduino's serial port. If I'm out to lunch on this one, I'll happily move it to another of the forums.

Thanks,

Ben

Why not try it Virtual wire using a non-uart port?
I have an RF remote that goes into powerdown sleep mode after every button press (16 button keypad). I press a key it wakes up, sends the key, and goes back to sleep. The receiver always receives the key press.

It more then likely has to do with the RF receiver's behaviour when there is no RF signal to receive. What logic level does the reciever output signal have when there is no signal to receive, is it constant high, constant low, switching high and low with random RF noise at a random frequency?

The Arduino serial asyn protocol want's to see a steady HIGH digital value on a serial rec pin ( so called stop condition) when there is no characters being sent, and will then be 'armed' to start processing a character on the first high to low voltage transition that meets the bit timing for the applied baud-rate, that is the so called 'start bit'.

So unless you can put a scope on the recievers data output signal and tell us it's electrical behaviour during no RF signal condition, it's hard to sepeculate on how to work around what you are seeing. The fact that it does work when there is a valid RF signal, implies that the serial hardware and software are working as designed.

Lefty