Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Receiving SMS and Responding Through AT commands

Status
Not open for further replies.

fouwad

Full Member level 4
Full Member level 4
Joined
Nov 29, 2009
Messages
199
Helped
19
Reputation
38
Reaction score
17
Trophy points
1,298
Location
Pakistan
Activity points
2,466
hi ppl, im doing a project for which i need to receive data from SIM300 GSM MODEM to my ATmega32 controller. but the problem is that the controller is able to send data to modem and it works fine, i tried sending sms and dialing code that worked fine. but when i coded to receive data from modem it didnt respond

im attaching my code with post. plz reply me if u find some error
regards
 

Hii,

From what I read, the problem is you didn't have respond from your SIM 3000. When you want to read sms right?.

I try to share my expereince okay. I use simens C45, if the methode use AT Command, I think the problem is same.

First, the SMS format you must know, it contains :
1. SMS Centrer from the operator ex. 07912658050000F0
2. Code number for SMS receive ex. 04
3. SMS in text message ex.0000
4. Date when sms sent ex.509061
5. Time when sms sent ex.60331280
6. How long is the message + 1 ex. 0b ite means the sms contains 10 character
7. Message ex.F43ABD0E07ADEBEE711A (PDU FORMAT)

first try this :

1. Send AT+CNMI = 1,1,0,1,1 +chr(13) + chr(10) ==> chr 13 is carriage return
this is for the handset to give the microcontroller automatic warning when there
is new sms.

2. send AT+CMGR = 1 + chr(13) + chr(10)
when you send this you must prepare your microcontroller to receive data by
polling methode or interrupt methode. if you are already know how to handle the
interrupt, I think interrupt is the easiet way. But how you can recieve data until
the end of data. The answer is you must check every character and then store
every character at the array variabel until you get carriage return character
chr(13).

from your code: I think you are not using PDU format. So it's lot easier than use PDU format.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top