Please look at this snippet of code. I am using only the SoftwareSerial.h header. When I run, this code, I do not get any response. If it's not possible to detect the incoming call and return the value as one, which other way can I do it?
void loop(){
answer = mySerial.println("\,"+CLIP\"");
//Detect incomming call
if (answer == 1)
{
Serial.println("Incoming call");
if ( flag == 0){
for (int i=0; i<19; i++){
// read the incoming byte:
while (Serial.available() == 0)
{
delay (50);
}
//Stores phone number
number[i] = Serial.read();
}
Serial.flush();
flag = 1;
}
//Stores phone calling number
for (int i=0; i<=14; i++){
if(number[i]== '"'){
i++;
realnumber[0]=number[i];
i++;
realnumber[1]=number[i];
i++;
realnumber[2]=number[i];
i++;
realnumber[3]=number[i];
i++;
realnumber[4]=number[i];
i++;
realnumber[5]=number[i];
i++;
realnumber[6]=number[i];
i++;
realnumber[7]=number[i];
i++;
realnumber[8]=number[i];
break;
}
}
//Check phone number
for (int i=0;i<9;i++){
if (realnumber[i] == mynumber[i]){
a++;
if( a==9){
Serial.println("Correct number");
mySerial.println("ATH");
if(b==1){
b=0;
}else{
b=1;
c=1;
}
break;
}
}else{
Serial.println("Wrong number");
break;
}
}
a=0;
answer=0;
flag = 0;
}
//Send SMS once and position to HTTP
if (b==1){
get_GPS();
send_HTTP();
delay(500);
if (c==1){
sendSMS();
delay(100);
c=0;
}
}
}