I am using 89s52 microcontroller to interfacing with GSM module 'SIMCOM300'. The logic which i develope is as bellow:
1) 1st i execute all commands i.e AT, AT+CMGF=1, AT+CSMS=0, AT+CPMS="SM", AT+CNMI 2) AFTER this controller will do its other operation 3) when new msg received sci receive interrupt will store '+CMTI: "SM", <index> response from gsm in buffer. 4] after this i take the index from buffer & read the corresponding msg content. 5) again the receive interrupt will occure & the whole data rcv from gsm is store in another buffer. 6) so with this i am getting the senders mobile n0.,time of sending, & actual data. 7) Depending on the actual data microcontroller will perform the action.
actual problem: 1) i am use '+' sign to check new msg indication, if '+' sign occur then next data will automatically save in buffer. but while doing this if another sms received then gsm module gives response of that message. i want this new response to store in buffer but the previous message response already fulfil the condition
so give me the solution to handle two sms received at a time by gsm module.....
Note that none of this has anything to do with Keil - nor even the 8051.
You should be speaking to your SIMCOM representative for support.
"I search about this error then i got 2 information"
I think this is a proprietary code - so you must refer to the specific SIMCOM documentation.
"BUT i am using TEXT mode for doing sim operations"
See above. But, even so, remember that GSM itself always uses PDU - text mode is simply an alternative interface between the module and the external application.
"I used command AT+CMGL="ALL" for this but for this command it also gives same error"
Of course it will! If the SIM is not ready, then it's not ready for any commands!
Check your SIMCOM documentaion to see if the module can give you any notification of when the SIM is ready...
"I insert same SIM in different mobile and after switch on the mobile it gives error as INSERT SIM"
Sounds like you have a faulty/damaged SIM, then?