I'm trying to transfer a struct of data values from one UNO to another using EasyTransfer. I can't get any data to transfer to save my life. I've worked on it for a couple of hours a night for the past three days, and yet I still haven't been able to get the TX pin to work, it won't light up. The good news is that I know it's not my arduino board because I've tested the pins on both of my UNOs with a simple LED setup.
BarrTech:
I still haven't been able to get the TX pin to work, it won't light up.
I don't know how EasyTransfer is supposed to work. What do you expect to happen in this scenario? You seem to be trying to send over the hardware serial. Is that intended to be connected to anything, and if so how?
And of course EasyTransfer requires two different sketches to be running in two separate arduino boards that have their serial pins wired to each other (send to receive and receive to send). What happens on the send and receive leds on a arduino board only signifies what is going and coming from an attached PC via the USB link, which is not what EasyTransfer is all about.
I am concerned with the transmitting device only. I've tried just leaving a wire connected to only the TX of the handheld controller as well as connecting both the TX of the controller and the RX of my other device. Neither event works. The TX LED does not flash to show that it's working, and of course my other device does not respond to my controller because there's apparently no data being transferred. I find this confusing and a big problem because in my experience, the TX should at least blink when the pin is being used or a wire is even hooked up to it with some sort of input/output signal.
Also, I chose to use EasyTransfer because it was described as a reliable method for continuously transferring batches of data (multiple variables) as serial values using the TX/RX pins.
The TX LED does not flash to show that it's working
Why should it? It isn't working. The TX and RX LEDs are controlled by the USB to serial converter on the board, not the Arduino chip. Since the USB to serial converter is not involved in sending data from board to another via the RX and TX pins, there is no reason to expect the TX and RX lEDs to blink.
BarrTech:
I've tried just leaving a wire connected to only the TX of the handheld controller as well as connecting both the TX of the controller and the RX of my other device. Neither event works.
But only when I have the Arduino connected to the USB
When the USB to serial converter actually has something to do.
Meaning that there has to be an application open and running on the PC that has opened the com port, if I'm not mistaken, otherwise the arduino USB converter would not just blindly send serial data to the PC (and blink the xmit led). At least that is my take on the matter and it would be very easy to test that out.
Well, I just had it running the sketch I posted and had TX blining with it (w/o 'Serial Monitor').
Then I grabbed my battery and ran it w/o USB and got no TX blinx.
Just adding that adding an LED_&_resistor between +5 and D1 (TX) results blinx coinciding with active data out (disconnected from USB, just running on battery.) 9/23
The TX and RX LEDs are controlled by the USB to serial converter on the board, not the Arduino chip. Since the USB to serial converter is not involved in sending data from board to another via the RX and TX pins, there is no reason to expect the TX and RX lEDs to blink.
Correct me if I'm wrong, but what I am taking away from this is that I shouldn't even be trying to use the TX and RX pins as outlets for transferring data because its proper use is for applications involving an arduino board and a PC or USB.
So I believe now my question is, how the heck am I going to get this controller of mine to continuously feed data from three variables from one arduino UNO to another?
Correct me if I'm wrong, but what I am taking away from this is that I shouldn't even be trying to use the TX and RX pins as outlets for transferring data because its proper use is for applications involving an arduino board and a PC or USB.
You are wrong there. If you aren't using the USB/Serial to connect to a computer, then there is no problem using the TX/RX pins for serial communication to another device. All that is saying is that the LEDs won't blink under those circumstances.
BarrTech:
So I believe now my question is, how the heck am I going to get this controller of mine to continuously feed data from three variables from one arduino UNO to another?
I don't know what EasyTransfer is, but can it work over a SoftwareSerial? If so, you could connect over any digital pins, not just the ones connected to the hardware serial UART.
You can transfer using hardware serial (pins 0 and 1) which is more reliable than software serial. The fact that the Tx light doesn't blink is irrelevant.
TX pin won't blink (transfer data)
Pins don't blink for a start, and whether or not an LED blinks doesn't necessarily indicate if it is transferring data. For one thing, at high baud rates, and small amounts of data, the blinking would be hard to see.
You are wrong there. If you aren't using the USB/Serial to connect to a computer, then there is no problem using the TX/RX pins for serial communication to another device. All that is saying is that the LEDs won't blink under those circumstances.
Thanks for clearing that up.
Pins don't blink for a start
Darn, I was confused all along! And yes, I could try I2C using what you posted, Nick (thanks by the way), or try EasyTransferI2C... Which by the way is a free arduino library made by Bill Porter (www.billporter.info) intended to help transfer multi-variable serial values using TX/RX pins. So same concept...