【问题标题】:GPRS+GPS communicationGPRS+GPS通讯
【发布时间】:2014-03-26 00:53:16
【问题描述】:

我的项目正在使用 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); 部分停止。

【问题讨论】:

标签: gps serial-port communication gprs


【解决方案1】:

您的问题似乎实际上是盾牌堆叠问题。如果您是从与 Arduino 板相同的地方购买的盾牌,就是这种情况。

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

通常,为了使其工作,您必须重新连接其中一个外壳以使用不同的引脚并使用SoftwareSerial 库与它们通信。这也意味着你不能使用堆叠能力,除非你对你的一个盾牌进行物理修改。

顺便说一句,您可能想使用Electronics StackExchange 网站来了解有关 Arduino 的更多问题。

【讨论】:

  • 板子和屏蔽层刚好兼容,所以我把它们叠在一起。
  • Board + GPS 是,Board + GPRS 是但不一定是 Board + GPS + GPRS
  • 2个屏蔽层和板子通信时,是否需要使用SPI库?
  • @thePhonenix18 我不知道你现在在问什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-03
  • 1970-01-01
  • 2011-09-30
相关资源
最近更新 更多