GPRS+GPS communication



我的项目正在使用GPRS和GPS盾牌。我的主板有 2 个 UART 端口,因此当我使用 2 个扩展板时不会有问题。我的两个盾牌的代码单独工作正常,但是当我已经将两者集成到一个板中时,GPS 的代码不会继续(GPRS 有效),就像卡在这个命令中一样

ptr = strstr(GPS_data, "$GPGGA"); //search GPGGA String

但是如果我只将 GPS 盾牌单独与板一起使用,则此命令可以完美运行。我使用 2 波特率,GPRS 为 57600,GPS 为 9600。这可能是什么问题?谢谢!

这是我GPS代码的一部分。

void SEND_data()
{
  digitalWrite(gpsPin, HIGH);
  Serial1.begin(9600); //GPS shield communication
  pinMode(TX1, OUTPUT);
  digitalWrite(TX1, HIGH);
  Serial1.write(Serial1.read()); 
  while(!ptr)
  {
    while(Serial1.available())
    delay(10);
    {
      GPS_data[i]=Serial1.read(); //output of the GPS
      i++;
      j=0;
      delay(10);
    }
    ptr = strstr(GPS_data,"$GPGGA"); //search GPGGA String
    digitalWrite(gogoPin, HIGH);
  }
   digitalWrite(sendPin, HIGH);

我的问题是上面的digitalWrite(sendPin, HIGH)不再亮起,所以基本上运行代码停止在括号 ({) 上方的digitalWrite(gogoPin, HIGH);部分。

您的问题实际上似乎是屏蔽堆叠问题。如果您从与Arduino板相同的位置购买了防护罩,则情况就是如此。

实际上,您已将 2 个设备连接到不支持的 TX/RX 引脚。以下帖子应该更好地解释Arduino Uno RX TX引脚。

通常,为了使它工作,您必须重新连接其中一个支架以使用不同的引脚并使用SoftwareSerial库与它们通信。这也意味着除非物理修改其中一个盾牌,否则您无法使用堆叠功能。

附带说明一下,您可能希望使用Electronics StackExchange站点来了解有关Arduino的更多问题。

相关内容

  • 没有找到相关文章

最新更新