How to send via GSM the GPGGA line in GPS Shield using MCU with 2 h/w uart?

HELP!! :~
these r my boards:
GPS Shield http://www.e-gizmo.com/KIT/gps%20shield.html
GSMGPRS Shield http://www.e-gizmo.com/KIT/gsm%20shield.html
Gizduino+(Arduino) microcontroller with 2 h/w uart http://www.e-gizmo.com/KIT/gizduino+%20164,324,644.html

Real links are more useful that text.

Where is your code to read from the GPS?
Where is your code that illustrates that you can send anything via the GSM shield? What do you want to send to?

I used this code for GSM and microcontroller only,, and it works:

/*
GSM Send Sketch for Arduino

Initializes GSM Module and sends an SMS to recipient

The circuit:
*Arduino pin 0 (RX) - GSM Module (TX)
*Arduino pin 1 (TX) - GSM Module (RX)

Created 2010
by Meann Zabanal
Modified
by John for GSM Shield testing
*/

char Rx_data[50];
unsigned char Rx_index = 0;
int i = 0;
char msg[160];
int sig;

void setup() {
Serial.begin(9600);

initGSM();
send_msg("***********, "Hello");
}

void loop() {
//none
}

void send_msg(char *number, char *msg)
{
char at_cmgs_cmd[30] = {'\0'};
char msg1[160] = {'\0'};
char ctl_z = 0x1A;

sprintf(msg1, "%s%c", msg, ctl_z);
sprintf(at_cmgs_cmd, "AT+CMGS="%s"\r\n",number);

sendGSM(at_cmgs_cmd);
delay(100);
delay(100);
delay(100);
sendGSM(msg1);
delay(100);
}

void sendGSM(char *string){
Serial.write(string);
delay(90);
}

void clearString(char *strArray) {
int j;
for (j = 100; j > 0; j--)
strArray[j] = 0x00;
}

void send_cmd(char *at_cmd, char clr){
char *stat = '\0';
while(!stat){
sendGSM(at_cmd);
delay(90);
readSerialString(Rx_data);

stat = strstr(Rx_data, "OK");
}
if (clr){
clearString(Rx_data);
delay(200);
stat = '\0';
}
}

void initGSM(){

send_cmd("AT\r\n",1);
// send_cmd("ATE0\r\n",1); // Turn off automatic echo of the GSM Module

send_cmd("AT+CMGF=1\r\n",1); // Set message format to text mode
//Sucess

Serial.println("Success");

delay(1000);
delay(1000);
delay(1000);
}

void readSerialString (char *strArray) {

if(!Serial.available()) {
return;
}

while(Serial.available()) {
strArray = Serial.read();
i++;
}
}

//----------------------------------------------------AND This is my code for GPS Shield and MCU(works)-------------------------------
void setup()
{
Serial.begin(9600);

}

void loop() // run over and over
{
while(!(Serial.available())){}
Serial.write(Serial.read());
}

my problem is how to combine their code when i'm using 2 hardware uarts?? :frowning:

The GPS shield you are using allows you to select pins 0 and 1 or pins 2 and 3 for the serial port.

The GSM shield you are using allows the same selection.

That the Gizduino may have more than one hardware serial port is irrelevant as far as those two shields are concerned. Unless you do some pin bending.

You'll need to use SoftwareSerial to talk to one of the devices.

PaulS:
the Gizduino may have more than one hardware serial port is irrelevant as far as those two shields are concerned. Unless you do some pin bending.

yes sir... i bend pins Rx = 0 and Tx = 1 on my GPS Shield and wired them on my MCU lower pins Rx = 2 and Tx = 3...

my Gsm Module that is connected on pins Rx = 0 and Tx = 1 is parallelled in the middle of my microcontroller and my GPS shield sir :slight_smile:

How to call gps and gsm in arduino using 2 uart sir?

void setup()
{
Serial.begin(9600); // gsm module?
Serial1.begin(9600); //gsp shield?
}

is this ok?

i have the same problem if you solved it , please tell me how ?