dear all, i am using at89c52 along with SIM300 i am using it for sending/receiving TEXT- SMS one of the program function is to send a SMS whenever SIM300 is turned on (sending sort of initial h/w status through sms) here i am having a problem; coz out of 10 tries i am getting SMS in 7-8 tries only for remaining 2-3 tries it simply doesn't send any sms i am giving 30-sec of delay after powering up the SIM300 as a booting time i don't know why am I not getting 100% result
any suggestion regards
here i am having a problem; coz out of 10 tries i am getting SMS in 7-8 tries only for remaining 2-3 tries it simply doesn't send any sms because you are workng with SMS you do not need to post in SMS
how do you detect that this is power up, conversely, how do you detect the start message is sent?
Erik
Never rely upon arbitrary delays!
You need to check explicitly that all the necessary conditions are satisfied before you proceed.
You should also pay attention to the result response returned by the module to know whether the message was successfully sent or not - and the reason for failure if it was not sent.
Look-up AT+CMEE in your AT Commands manual...
I have kept some routine outside the main-while() loop and those routine will only be accessed by the program when its power_Up or RESET condition
thankx I will check that command; actually after 30-second delay I send "AT" and check its response and then only i proceed in fact if the program doesn't get proper response it will never try to send any SMS, thakns
"then only i proceed in fact if the program doesn't get proper response it will never try to send any SMS"
That is necessary - but is by no means sufficient.
In case you don't understand the concepts of necessary and sufficient conditions, see:
www.sfu.ca/.../conditions1.htm
en.wikipedia.org/.../Necessary_and_sufficient_condition
See my post about the WikiBooks "Serial Programming/Modems and AT Commands" article in this thread: http://www.keil.com/forum/18696/