I am building a remote control to communicate with an ICOM M710 marine radio, this uses the NMEA0183 protocol, prior to the project with Arduino (for which I use an Arduino nano v3) I made a small program with Visual Basic 6 with which I was able to communicate successfully to through physical port with the radio. The problem that I do with a very basic project with Arduino as a test to see the results it produces, but I cannot establish communication between the card and the radio in any way.
The COM port is set to 4800 baud, 8 bits, stop bits 1, no parity (Mandatory)
void setup() {
Serial.begin(4800, SERIAL_8N1);
}
For example, to turn on the radio you have to send the following:
$ PICOA,90,01,REMOTE,ON*59
followed by a carriage return and line break
In visual basic 6 I did it like this:
MSComm1.Output = "$PICOA,90,01,REMOTE,ON*59" & vbCrLf
In the Arduino IDE:
Serial.write("$PICOA,90,01,REMOTE,ON*59\r\n");
Using a serial port monitor I observe that from the board and the software with VB6 they send the same string with its carriage return and line feed, however the application with VB6 and the physical port works correctly but the arduino does not, any ideas about?