0

I am using the sim800l gsm module with nodemcu esp8266 and comunicating with it using AT+ commands. The module is working correctly but I am trying to use the command AT+CLCC to get all the current calls' state but it responds with only the first call information and a part of the second call.

This is the response while there are two active calls

15:37:19.156 -> AT+CLCC
15:37:19.156 -> +CLCC: 1,0,1,0,0,"+0123456789",145,"name"
15:37:19.156 -> 
15:37:19.156 -> +CLCC: 2,

I think it is the Serial buffer's problem because the size of the serial buffer is 64 bytes and the response is more than that but I don't know how to handle that

I hope someone can help.

EDIT: this is the code i am using

#include <SoftwareSerial.h>
#include <cstring>

#include <Arduino.h>

#define simTX D3 #define simRX D4

SoftwareSerial sim800l(simRX, simTX); //RX, TX

void setup() {

Serial.begin(115200); //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)

sim800l.begin(115200); //Begin serial communication with Arduino and SIM800L

}

void loop() {

updateSerial();

}

//Start // this method takes input from the serial monitor the pass it to sim800l via serial communication void updateSerial() { delay(500); while (Serial.available()) { sim800l.write(Serial.read()); //Forward what Serial received to Software Serial Port } while (sim800l.available()) { Serial.write(sim800l.read()); //Forward what Software Serial received to Serial Port } } //End

Rohit Gupta
  • 618
  • 2
  • 5
  • 18

1 Answers1

2

Just for someone in the future who is having the same issue.

the problem was because of the boadrate 115200 is pretty fast for a software serial implementation so i just changed it to 9600

 sim800l.begin(9600);  //Begin serial communication with Arduino and SIM800L

good luck from the past :)