0

現在、arduino uno で 2 つの異なるシリアル ポート (gsm 用 (2,3) と gps 用 (8,9)) を使用しようとしています。このリンクの両方を試しました。

1) arduino-uno-with-multiple-software-serial-devices

2) Arduinoでソフトウェアシリアルを使用して2ポート受信。

しかし、何も機能していないようです。シリアルモニターには何も表示されませんでした。

アップデート

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() メソッドを使用して各ポートのオンとオフを既に試しましたが、意図したとおりに機能していないようです。どんな助けでも大歓迎です。ありがとうございました。

4

1 に答える 1