I'm using an Arduino Pro (mini 328) 5v board and am a little confused as to the operation of its serial ports. Specifically, I have no problem reading either the dedicated UART or a NewSoftSerial port using an Arduino USB-to-Serial programming cable (FTDI 5v). BUT when I use a generic Serial-to-USB converter, at first all I got was gibberish. After considerable head scratching and trial and error, I changed my NewSoftSerial initialization code to:
NewSoftSerial mySerial(2, 3, true); // invert serial signal
and - voila - it worked fine. While it was nice to see it working, the solution downright confounds me.
So my question is why do I have to invert the serial signal depending on the Serial-to-USB device? The generic Serial-to-USB converter works fine with some other non-Arduino devices and my terminal settings were identical. Are the signals inverted on the Arduino? Or is there something else going on here?