Наблюдаются те же(?) проблемы с Garmin 18x pc (rs-232)
pdf.
Только у меня еще и Mega 1280, так что с портами для чтения надо быть внимательным (см. комментарии в коде).
На ноутбуке COM-порта нет, купил переходник на USB, подключаю (скорость 4800), наблюдаю в терминале NMEA-протокол.
Беру Arduino Mega 1280
pin 2 (RS-232) <-> pin 12 (Arduino)
pin 5 (gnd) <-> gnd
В терминале видим:
vvÖ¶vÖÆZVvÖ¶V·ï-×É5uv¶vÖÖvÖvvÖVvÆY²³ZVv¶vv¶¶vÖöæZYÙÚYÙÚ
[×µUukÛ¶6vÖQVv6Ölöv6ëív&ÙZÖÖ¬vV}ûû6övöællZÙÚVövÖvööÖ6ëZ6v¶v¶¶vÖvƶvö
6Vvööv¶övö¶væövvöö¶vvë
Код взят из 1.0.4 (убрана работа со вторым портом).
- Код: Выделить всё • Развернуть
#include <SoftwareSerial.h>
// software serial #1: TX = digital pin 10, RX = digital pin 11
SoftwareSerial portOne(12,13);
// software serial #2: TX = digital pin 8, RX = digital pin 9
// on the Mega, use other pins instead, since 8 and 9 don't work on the Mega
//SoftwareSerial portTwo(8,9);
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(115200);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
// Start each software serial port
portOne.begin(4800);
}
void loop()
{
// By default, the last intialized port is listening.
// when you want to listen on a port, explicitly select it:
portOne.listen();
Serial.println("Data from port one:");
// while there is data coming in, read it and send to the hardware serial port:
while (portOne.available() > 0) {
char inByte = portOne.read();
Serial.write(inByte);
}
Serial.println("===============");
delay(300);
}