I am using baud rate 115200 for all my hardware and this GSM module just does not cooperate spitting garbage symbol even after using the proper baud rate.
Thanks 19200 fixed the problem. But I already tried it before now I just added the command
AT+IPR=19200
What I dont understand is I already set the baud rate using
SIM900A->begin(baud);
why do i have to call this AT+IPR=19200 ? I dont understand why you have to call both
void initialize_sms(SoftwareSerial *SIM900A, int32_t baud) {
Serial.println(F("SMS: INITIALIZING"));
// Match baud rate of GSM module to the arduino module baud rate
SIM900A->begin(baud);
SIM900A->print(F("AT+IPR=19200\r"));
// Give time to your gsm to connect to the network
Serial.println(F("SMS: CONNECTING TO NETWORK"));
delay(1000);
Serial.println(F("SMS: READY"));
}