0
votes

I am sending data continuously to a remote server using the SIM300 GSM/GPRS modem connected to an Arduino Uno. At the same time I want to check if I have received an SMS on the SIM card.

In the setup function I have configured the modem to GPRS mode and executing the AT+CIPSEND continuously to send data in the main loop program. In my interrupt routine I want to check for the SMS notification using the AT+CNMI command. So is it OK to check for SMS notifications while the modem is operating in GPRS mode or is there a clash of SMS and GPRS mode because the interrupt modem is running asynchronously along with the main program?

1

1 Answers

1
votes

While I shall not guarantee that this SIM300 modem is without any errors, there should be no problem checking SMS while GPRS traffic is ongoing.

The AT+CNMI command is just a command for reporting new SMS messages arrived on a serial interface, which is a local TE-TA1 issue and independent of network activity (which by the way fully handles sending/receiving SMS messages even when there is ongoing voice or data calls (circuit switched or packet switched)). You have to receive the +CNMI UR codes on a different serial interface than the one which is sending data though.

For more details about AT+CNMI I recommend that you look into the 27.005 specification.

1 TE: Terminal Equipment, e.g. PC/microprocessor. TA: Terminal Adapter, e.g. modem.