We have written an application that receives and send SMS messages via Nokia 5110/Wavecom attached to COM port. Whenever there is a new SMS message coming we get an indication from phone to our application as +CMTI: "SM",1 for memory location numbered 1. So we read that SMS from SIM using AT command AT+CMGR=1. Now my question is, while I am reading from SIM, if another message arrives at SIM at same moment and I get another indication, what will happen? Will my reading operation be discarded or SMSC will wait for my reading operation to finish. My program is multithreaded in sense that we uses separate threads for reading from SIM, sending outbound SMS messages.
I will repeat my question. What happens if I am reading from SIM and I get another message indication or what happens when I issue AT+CMGR=1 and while NOKIA is transferring data to my application, I get another +CMTI?
Any way "Nokia Par Mulakaat Ho hi gai"
I have just had a look at different specs and came to a basic conclusion on this issue that when we read from SIM or MT it doesn?t block the MT operations I mean any activity which can be performed by Mobile Termination Equipment.
So first and foremost it won?t disturb the operation of receiving messages.
The second point to read these messages again: I feel that you can start a new thread once the first comes in action and keeps this process till n messages coming in the series. Just like "Nuclear Division - Atom BOMB series" . And let the thread die once it finishes it job. Of course u have to keep at least one thread running.
I can?t experiment it and give a solution in practical [I don?t have a GSM modem at this time.], however its theoretically seems cool.
SIM (micro-computer) are generally slower that MT (micro-computer) so you can just make a survey of mobile sets having SMS receiving entity inbuilt in MT. Its available in the market - just chalk out.
You wrote:? When I issue AT+CMGR=1 and while NOKIA is transferring data to my application, I get another +CMTI?"
Are u really getting "+CMT?" I think? = "SM", n.