Discussion in "Embedded GSM Development" started by    Alvanbert    Feb 10, 2012.
Wed Feb 15 2012, 05:50 AM
#11
@ Alvanbert
yes the code is correct
i use it with gsm modem and its works
u need t capture a event of new message notification
same thing is for cell phone as well as modem
which cell phone or modem ur using
Wed Feb 15 2012, 09:14 AM
#12
Hi Majoka, Thanks for yr reply. Pliz show me how i can integrate the capture of the new message notification into the code.
the Code above the last post i made has a code from Ajay that Kiran told me to use which i think is meant for this but i dont know how to integrate it.

Am using a Huawei Modem E160...its A USB modem
Wed Feb 15 2012, 10:50 PM
#13
In that same post its there read notification()
implement it in main program. u ll get.

Thu Feb 16 2012, 10:07 AM
#14
hi guys. i av been working on different though am yet to come to a successful conclusion. i want u to tell me whether this would be possible.

1. Is it possible to increment the 1 using aloop in the the command in the line ..SMSString( "AT+CMGR= 1 \r");...so that it can be able to read
( "AT+CMGR= 2 \r");, ( "AT+CMGR= 3 \r"); ( "AT+CMGR= 4 \r");...so that it can check from address 1-5 using a variable e.g n

2.If The above is okay....in case my simcard receives messages greater that the variable stated, i want it to delete the oldest message..which in this case would be the message at n=1 and replace it with the newest and the loop continues.
Thu Feb 16 2012, 11:04 PM
#15
In SMSString() its not possible to increment no.
Do like this
SMSString("AT+CMGR=");
tx0(var++);
SMSString("\r");

Second method also can be done.As soon as you receive a msg read/store it and delete it.So that when next msg arrives it sits in 1st location only.
Fri Feb 17 2012, 09:44 AM
#16
Thanks Kiran. But the problem now is tx0 function is supposed to output unsigned characters and yet i think the variable will be an integer.
i have tried to declare the (var) as an integer globally but wen the program runs the "AT+CMGR = " doesnt pick up the digit..so in the terminal it displays as shown in the snapshot below


secondly, KiRAN said

Second method also can be done.As soon as you receive a msg read/store it and delete it.So that when next msg arrives it sits in 1st location ony



How can i do this.. thought it would be easier to read from message location 1,2,3,4,5 then back to 1...through the loop i was suggesting above...
so when a new message arrives after location 5 has been filled..instead of storing it in 6, i will delete message in location 1 and place it there and the loop continues..... I hope am clear enough..

THANKS
Tue Feb 21 2012, 06:06 PM
#17
var must be converted to ascii first before sending it to modem. and "AT+CMGR=" without spaces around '=' sign
Wed Feb 22 2012, 05:47 PM
#18
Thanx A jay but problem is i dnt knw how 2 convert variable 2 ascii. Pliz enlighten me on how to do this. Thanx
Wed Feb 22 2012, 06:08 PM
#19


Thanx A jay but problem is i dnt knw how 2 convert variable 2 ascii. Pliz enlighten me on how to do this. Thanx

Alvanbert


For numbers up to 10 the best method is just to add 0x30 to the value.
EG
0 becomes 0x30 which is ascii '0'
1 becomes 0x31 which is ascii '1' etc.

For 10 or above use "printf", "sprintf" or "itoa"
"printf" will often add a lot of code so is best avoided.
Fri Feb 24 2012, 07:27 AM
#20
Thanx alot guys for your help...now am getting some output on the screen.

Now am left with one disturbing issue though it should be easy.
am failing to create a loop that can display the message onto the lcd from at+cmgr=1 to at+cmgr=5
below is the part of the code where i want to set up the loop pliz help.
SMSString("AT\r"); // AT commands to initialize gsm modem
delay_sms(1000);

SMSString( "ATe0\r"); // turn off echo
delay_sms(1000);

SMSString( "AT&W\r"); // save settings
delay_sms(1000);

SMSString( "AT+CMGF=1\r"); // select text mode for sms
delay_sms(1000);

SMSString( "AT+CNMI=2,1,0,0,0\r"); // notification of new sms
delay_sms(1000);

SMSString( "AT+CMGR="); // AT command to read sms
tx0(var++);
SMSString( "\r");

IE=0X90;   // Enable serial interrupt
delay_sms(2000);

/* i get a response like this

// +CMGR: "REC READ" ,"+2347060580383","10/10/23,14:29:33+04" 
// device1 off 
// Ok. */

// read sms and store in buffer msg1
read_text(msg1);
delay_sms(2000);
IE=0X00;     // Disable all interrupt
while(1);


Get Social

Information

Powered by e107 Forum System

Downloads

Comments

IDTian
Sun Apr 20 2014, 02:30 AM
karachiites
Sat Apr 19 2014, 05:23 AM
nnannos
Fri Apr 18 2014, 01:23 PM
venkyrsv
Fri Apr 18 2014, 12:10 PM
Suilied
Fri Apr 18 2014, 10:44 AM
RaviKantSharma
Fri Apr 18 2014, 04:55 AM
sohil99
Fri Apr 18 2014, 03:09 AM
kanakiyajay
Fri Apr 18 2014, 02:00 AM

Conversation

Sun Apr 20 2014, 05:23 AM
ARPAN
HELLO. I AM USING 8051 WITH RFID , PASSWORD AND FINGERPRINT.I HAVE SFM 3030 FINGERPRINT MODULE HOW TO INTERFACE IT WITH 8051? DIRECTLY OR EXTRA CIRCUITRY IS REQUIRED?AND HOW TO USE TWO SERIAL DEVICES RFID AND FINGERPRINT WITH ONE 8051?
ExperimenterUK
Thu Apr 17 2014, 01:23 PM
@mba Great .. please do.
Thu Apr 17 2014, 12:27 AM
mba'
like the forum and wish to participate
ExperimenterUK
Wed Apr 16 2014, 04:45 PM
@viniciusheidrun..you should read my comment just before your post
viniciusheidrun
Wed Apr 16 2014, 01:43 PM
I'm doing a drive system with SIM900D modem and microcontroller AT89S52 via sms. I'm having trouble can not generate the. Hex to send to the microcontroller, whenever I compile the error, I'm using MCU 8051 IDE, what should I do so that my system receive sms and perform my task?
ExperimenterUK
Mon Apr 14 2014, 01:00 PM
@Haranadh,bipin chandra etc. Create threads for your questions.
Sun Apr 13 2014, 04:05 AM
Haranadh
we bought HC 06 Bluetooth modem instead of Module ,Can any one help me of using it as bluetooth module since i am doing this project?
Sun Apr 13 2014, 03:58 AM
Haranadh
Hi,Actually we bought Bluetooth modem instead of Bluetooth Module
ajay_bhargav
Sat Apr 12 2014, 02:55 PM
Please use forum if you want to ask a question.
Sat Apr 12 2014, 01:06 PM
Dpk
Hi Ahana,I can Help you on this
  Choose Skin