GPRS+GPS通信

GPRS+GPS通信,gps,serial-port,communication,gprs,Gps,Serial Port,Communication,Gprs,我的项目是使用GPRS和GPS屏蔽。我的电路板有2个UART端口,所以当我使用2个屏蔽时不会出现问题。我的两个防护罩的代码单独工作正常,但当我已经将两个防护罩集成在一块板上时,GPS的代码无法继续工作,就像卡在这个命令中一样 ptr = strstr(GPS_data, "$GPGGA"); //search GPGGA String 但是,如果我只在主板上使用GPS屏蔽,这个命令就可以完美运行。Im使用2波特率,57600用于GPRS,9600用于GPS。这可能有什么问题?谢谢大家! 这是我

我的项目是使用GPRS和GPS屏蔽。我的电路板有2个UART端口,所以当我使用2个屏蔽时不会出现问题。我的两个防护罩的代码单独工作正常,但当我已经将两个防护罩集成在一块板上时,GPS的代码无法继续工作,就像卡在这个命令中一样

ptr = strstr(GPS_data, "$GPGGA"); //search GPGGA String
但是,如果我只在主板上使用GPS屏蔽,这个命令就可以完美运行。Im使用2波特率,57600用于GPRS,9600用于GPS。这可能有什么问题?谢谢大家!

这是我的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);

我的问题是,上面的digitalWritesendPin不再亮起,所以基本上运行的代码停在DigitalWriteGoPin的HIGH部分;就在括号上方{.

你的问题似乎实际上是一个盾牌堆叠问题。如果你从Arduino板的同一个地方购买了盾牌,情况就是这样

请参阅,您已经将两个设备连接到了不受支持的TX/RX引脚。下面的帖子应该对此进行更好的解释

通常,为了使其工作,您必须重新布线其中一个机架,以使用不同的引脚并使用库与它们通信。这也意味着您不能使用堆叠功能,除非实际修改其中一个护罩


另一方面,您可能想使用StackExchange网站了解更多有关Arduino的问题。

请提供您正在使用的电路板和GPS/GPRS屏蔽的品牌/型号信息。我使用的是Arduino兼容的电路板Gizduino+和64K内存。@Thephoenix 18,GPS和GPRS屏蔽呢?我仍然在使用E-gizmo的屏蔽。GPS-,GPRS-。线路板和屏蔽刚好兼容,所以我只是将它们堆叠在一起。线路板+GPS是,线路板+GPRS是,但不一定是线路板+GPS+GPR。当您要与2个屏蔽和线路板通信时,是否有必要使用SPI库?@thePhonenix18我不确定您现在在问什么。