We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi everyone,
Is there any way in which I can interface a GSM modem with a 8051 and retrieve the decoded SMS. The motivation behind this is that... even if i can get the encoded SMS from the GSM modeme using AT commands, the decoding complexity is very high for a 8051. And I think the GSM module should have some kind of decoding code (using this would be benificial and reduce code complexity for 8051)
Also please let me know exactly how to interface the GSM modem to 8051. I dont want a PC interface in between.
Please help me out..
Sambit NIT ROURKELA
"i am sending the identical commands and waiting for response. I had simulated on the hyperterminal before sending it to GSM module."
You still haven't said how you are certain that what you sent from hypoterminal was absolutely identical to what your code sends!
How have you proved this?
In particular, are you certain that the line endings are the same - CR, or CRLF?
dear Sir, These are the following steps i have followed to debug and simulate the Commands sent from the Microcontroller.
1)First i confirmed that commands sent from the hyperterminal to GSM are working perfectly and received the response from the GSM.
2)Later i checked the SMS from the hyperterminal and it was also working.
3)Then i sent commands from the controller to the hyperterminal before sending to GSM module. I came to know that what i am sending from the controller to the hyperterminal was same as the commands sent from the hyperterminal to GSM.
4) Later i started sendin the commands one by one and received response for all the commands except for SMS. For SMS After sending the Text Message i sent CTRLZ ascii value(26) from the controller and simulated the same by sending it to hyperterminal. I am getting the same ERROR response. Till now i am facing the same problem.
Regards sapthagiri
Create the minimum complete application that just attempts to send an SMS. If this works, then build on it, adding-in your other functionality one step at a time. Test throughly after each step. Save a backup of each step.
If it doesn't work, post it here - taking care to read & follow the instructions for posting source code. Also be sure to use copy-and-paste (don't manually re-type), no TABs (spaces only).
You do know that 26 is the decimal value, don't you?
i am not sure abt ur problem... but what i guess is that u are not getting any response from the GSM modem... rt?
trying sending the command serially... followed by linefeed and carriage return. This will actually execute the command in the GSM Modem.
wait for some time for the command to execute...
u can check the response in the CRO... u will find blocks of data being transmitted and received..
do check that.. one more thing that u need to look into is the handshaking part.. check if that is working fine or not. IN case of a normal microcontroller... the RTS pin is NOT CONNECTED.. that is a very important pin for handshaking.. I think that should be active LOW.. u need to make a manual connection for that.
do mail me ur actual problem at sambit.nitrkl@gmail.com
would be glad if ucan help u... we had similar problems.. :)
"i am not sure abt ur problem"
Your post is almost unintelligible!
Please use full words - "about", "your" etc.
You're not on a cell phone now - there's no need for it, and it just makes it really hard to understand your message!
The language barrier can be hard enough as it is, without needlessly adding to the problem like this!
"i guess is that u are not getting any response from the GSM modem... rt?"
No: he has specifically said that he is getting a response - but that response is "ERROR"
"trying sending the command serially"
He says he's already done that with hypoterminal
Do please read the foregoing discussion carefully!
"followed by linefeed and carriage return"
No! AT commands should be terminated with CR only.
When CR and LF are used together, it should be CR first, then LF - hence the common abbreviation "CRLF"
"wait for some time for the command to execute..."
Delays have already been discussed.
I am sorry, Sir
Yes I have send it 0x1a which hex value of 26