[RESOLVIDO] ARDUINO UNO + IComsat v1.0 shield SIM900 GSM

bubulindo:
Ok... bom, podes contar o numero de aspas até à senha... ou ver quando é que é dado um \r ou \n.

while (Serial.read() != ','); //encontrar a virgula. 

for (int i= 0; i <= 7; i++) {
   phone_number[i] = Serial.read(); //passar o numero de telefone para a variavel.
}

//encontrar o caracter de new line.
while (Serial.read() != '\n'); //aqui vais ter de experimentar para ver se o telemóvel envia \n ou \r.

//estamos prontos para testar a palavra passe...
char temp;

for (int i = 0; i <= 7; i++) { //a senha tem no máximo 8 caracteres.
   if ((temp = Serial.read()) != '\n') {  //aqui tambëm tens de ver qual e o caracter enviado...
       senha[i] = temp;
   } else {
      //senha encontrada
      //d\a um termino na string
      senha [i] = '\0';
      break; //sai do for
   }
}

if (strcmp ("SENHA", senha) == 0){
//password correcta
} else {
//password errada
}

Modifiquei um código para que o arduino envie comando 'AT+CMGR=1' apenas quando a a tx do gsm enviar '+CMTI: "SM",1', mas qualquer coisa que chega na rx do arduino ele responde enviando 'AT+CMGR=1', no código abaixo troquei o comando pelo texto "CHEGOU SMS",

É possível fazer que uma parte do código espere que o módulo envie o comando '+CMTI: "SM",1' na porta rx do arduino e quando este comando chegar, e somente este, o código continua executando outra parte de código?

#include <SoftwareSerial.h> //Include the NewSoftSerial library to send serial commands to the cellular module.
#include <string.h>         //Used for string manipulations

char incoming_char=0;       //Will hold the incoming character from the Serial Port.

SoftwareSerial cell(2,3);   //Create a 'fake' serial port. Pin 2 is the Rx pin, pin 3 is the Tx pin.

void setup()
{
//Initialize serial ports for communication.
cell.begin(9600);

//Let's get started!
cell.println("Iniciando...");
}

void loop() {
//If a character comes in from the cellular module...
if(cell.available() >0)
{
if(cell.read() =='+CMTI: "SM",1'); //waiting sms from the cellular serial port. (GOSTARIA DE ESPERAR ESSE COMANDO E SOMENTE QUANDO CHEGAR PASSO A EXECUTAR O RESTO)
{
cell.println("CHEGOU SMS"); //Print text
cell.flush();
}
}
}