TTL Question - Can write but not read from device

Hi everyone. First off, I'm sorry if I'm not in the right forum, but it seemed to fit.

Secondly, I've googled around a lot and understand that it's a very real possibility that I may need a MAX232 chip or similar to achieve what I'm trying to.

Now, for the problem. I have an LED sign that has a serial protocol that allows me to program the messages on the display. The cable I have is in that protocol manual on page 103 in the section 1088-9108.

By wiring my RX, TX and AREF (Aside: I don't know why this works on AREF but not GND) pins on my Arduino Uno I am able to write to the sign to get it to update custom messages. However, when I send a certain command that responds back to me I am unable to see any incoming bytes using Serial.available() or Serial.read()

The fact that I can write to the sign OK leads me to believe I have a TTL device and not a true RS-232 and maybe I don't need the MAX232, but rather I need to manage some further pins on the device. I may be completely wrong in that belief though. That's where you guys come in.

One more point, I can successfully read and write to the sign using LabVIEW, so I'm 99% sure I am sending the correct bytes to the sign when I am expecting a response.

It is a bad idea to connect anything to the AREF pin, as you could very easily destroy the ADC circuitry, and perhaps the processor itself.

Equipment designated by a manufacturer as "RS232" is almost certainly not 0-5V TTL compatible and you will need an RS232 level converter for the interface. There are exceptions: inverted serial 0-5V signals are often successfully understood on the receiving end of RS232 equipment, as they are loosely interpreted to fall within the -5V to 5V lower voltage range. Perhaps your strange wiring led to inversion of the signal, giving the appearance of working.

However, connecting RS232 serial outputs to Arduino pins can result in destruction of those pins by the -12 V to 12 V swings.

How do you physically connect the sign to the computer running LABVIEW? Do you use an old fashioned RS232 serial connection, or a USB to RS232 serial cable?

jremington:
There are exceptions: inverted serial 0-5V signals are often successfully understood on the receiving end of RS232 equipment, as they are loosely interpreted to fall within the -5V to 5V lower voltage range. Perhaps your strange wiring led to inversion of the signal, giving the appearance of working.

I thought that might be the case. I was hoping it was not. The manual section I referenced earlier about my cable says "To sign's RS232 or TTL port" and since I was able to write to it, I was thinking perhaps it was actually a TTL port.

jremington:
How do you physically connect the sign to the computer running LABVIEW? Do you use an old fashioned RS232 serial connection, or a USB to RS232 serial cable?

I use a USB to RS232 converter. I was hoping it was smart enough to deal with a TTL signal.

In a desperation attempt I tried to run the sign through the USB to RS232 connector into the Arduino's onboard serial port, but it did not work.

As you can tell, I'm not very experienced with my Arduino, or hardware generally.

jremington:
Equipment designated by a manufacturer as "RS232" is almost certainly not 0-5V TTL compatible and you will need an RS232 level converter for the interface.

Do you think something like this would work? It doesn't appear to use a MAX232 or anything like that. From the reviews it seems like it could work OK.

EDIT: I just bought this one. Hopefully it works. It's a cheap experiment to try anyway.

I would not recommend the Sparkfun converter. It cheats by making improper use of another signal to get the negative voltage and is not guaranteed to work. This one does use the MAX232 (or equivalent) and works extremely well.

Thanks for you help. Not sure if you caught my edit in the last post but I went with a different converter. If it doesn't work, I will check out the one you linked.

Thanks again.