I'm using an Arduino Duemilanove and NewSoftSerial to interface with a MAX232 chip to talk RS-232.
When I talk to the OBD serial cable directly, no problem. However, when I try to talk to the OBD serial cable using Arduino (through MAX232), I get what I want plus some "noise", e.g. I get some strange characters before the output expected.
For example, using OBD serial cable directly:
However, when I send "atrv" from Arduino, I get:
Never used NewSoftSerial, and I suspect that my MAX232 circuit is OK, since it's simple and I following the datasheets found around.
Thank you very much.
What is the code? Are you sending more than one character at a time? NSS will likely have trouble with full duplex (characters echoed back as it sends them) unless you go a byte at a time, sending and then checking for the echo character coming available for a reasonable amount of time based on the baud rate. I tried to do loop back on it and it fails. The explanation for that leads me to believe it could cause your problem also. If the echo for one character starts coming in while you are sending the next, you will miss the bits that came in while the character was being sent. So even byte at a time will likely get this error unless you wait for the echo before sending the next character. This effectively cuts the baud rate in half. >:(