В настоящее время я пытаюсь использовать два разных последовательных порта на моем arduino uno, то есть (2,3) для gsm и (8,9) для gps.Я пробовал обе эти ссылки;
1) Arduino-Uno-с-несколькими программными последовательными устройствами
2) Два порта приема с использованием программного последовательного на Arduino.
Но, похоже, ничего не работает.На серийном мониторе ничего не отображается.
ОБНОВЛЕНИЕ
Я изменил библиотеки моих gps и последовательных портов на AltSoftSerial и NeoSWSerial.Хотя оба они работают нормально, если я использую это в примерах.Но когда я реализую обе библиотеки и запускаю код, в последовательном мониторе нет результатов.
#include <NMEAGPS.h>
#include <GPSport.h>
#include <AltSoftSerial.h>
AltSoftSerial sim900a;
NMEAGPS gps; // This parses the GPS characters
gps_fix fix;
void setup()
{
Serial.begin(9600);
sim900a.begin(9600);
gpsPort.begin(9600);
}
void loop()
{
while (gps.available(gpsPort))
{
fix = gps.read();
if (fix.valid.location)
{
Serial.println();
Serial.print("Latitude= ");
Serial.print(fix.latitude(), 6);
Serial.print(" Longitude= ");
Serial.println(fix.longitude(), 6);
sendData = 1;
}
else
{
sendData = 0;
}
}
if(sendData == 1)
{
//do stuffs
delay(5000);
}
}
P / S: я уже пробовал метод listen () для отключения и включения каждого порта, но, похоже, он не работает должным образом.Любая помощь приветствуется.Спасибо.