Hola que tal les explico el problema, el código implementado funciona cuando se quiere enviar un solo mensaje de texto y hacer llamadas con un chip telcel de mexico, el problema aparece cuando se requiere enviar un mensaje tras otro después de un cierto periodo de tiempo no entiendo porque no me deja enviar un segundo mensaje, y el segundo problema es que el tiempo que transcurre desde que el modulo envía el mensaje hasta que el destinatario o recibe es de 30 segundos exactos y no se como reducir ese tiempo si alguien podría asesorarme se lo agradecería
Adjunto codigo
// =======Empieza la configuracion del SIM800L por primera ves=========
Send_AT("ATE0", 100); //Echo apagado
AT_echo = false;
Send_AT("AT+CNMI=1,2,2,1,0\r", 700);
Send_AT("AT+IFC=1, 1", 500);
Send_AT("AT+CMGF=1", 500); //cambia el modo de texto a modo de texto SMS
Send_AT("AT+CPBS=\"SM\"\r", 500);
Send_AT("AT+CSCS=\"GSM\"", 100); // Codificación para modo texto SMS
Send_AT("AT+CMGDA=DEL ALL\r\n", 1000); // Borra todos los mensajes de la memoria
Send_AT("AT+VGR=255", 100); //Ajustamos la ganancia.
void Send_AT(String AT_com, int delay_com) //envia los comandos aT
{
gsmSerial.println(AT_com);
delay(delay_com);
}
void Send_SMS(String phone, String mess) //funcion para enviar mensajes a diferentes numeros
{
gsmSerial.print("AT+CMGS=");
gsmSerial.println("\"" + phone + "\""), delay(100); //Numero a enviar el sms
gsmSerial.println(mess);
delay(100), gsmSerial.print((char)26), delay(100);
gsmSerial.println();
gsmSerial.println("AT+CMGD=1"); //Borra el mensaje
Serial.println("Send_SMS: " + mess);
delay(1000);
}
Cuando quiero enviar un mensaje solo llamo la funcion send_SMS y lo hace sin problema la primera ves pero si despues que termina de ejecutarse lo vuelvo a llamar no hace nada
Gracias!