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.

Need help... sending sms through gsm900 with PIC18F4550

Status
Not open for further replies.

Veeramani.T

Newbie level 1
Joined
Apr 19, 2014
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
20
dear friends,
i used pic18f4550 for sending sms through gsm900.
i got the at commands correctly in hyper terminal.
the problem is ......
manually i send the AT commands from hyperterminal to gsm900, the module is sending the sms to my mobile.
but, gsm module is connected to PIC MC , i could not get the sms.
and my hardware connections are correct ( checked it)
i dont know what is happening?

my code is ...


Code C - [expand]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include<xc.h>
#include<usart.h>
 
#pragma config PLLDIV = 4, CPUDIV = OSC1_PLL2, FOSC = HS, FCMEN = OFF, IESO = OFF, PWRT = OFF, BOR = ON, BORV = 3, WDT = OFF, WDTPS = 32768
#pragma config MCLRE = ON, LPT1OSC = OFF, PBADEN = ON, CCP2MX = ON, STVREN = ON, LVP = OFF, XINST = OFF, VREGEN = OFF, ICPRT = OFF, DEBUG = ON
#pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF, CPB = OFF, CPD = OFF, WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF
#pragma config WRTB = OFF, WRTC = OFF, WRTD = OFF, EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF, EBTRB = OFF
 
void string(unsigned char *s);
unsigned int i=0,j;
unsigned char serial_data;
 
#define FREQ 20000000 // Frequency = 20MHz
#define baud 9600
#define spbrg_value (((FREQ/64)/baud)-1) 
 
 
void string(unsigned char *s)
{
while(*s!=0x0)
{
TXREG=*s;
for (j=0;j<100;j++);
while(PIR1bits.TXIF==0)
{
}
PIR1bits.TXIF==0;
s++;
}
}
 
void tx_data(unsigned char data1)
{
TXREG=data1; 
while(PIR1bits.TXIF==0); 
PIR1bits.TXIF=0;
}
 
void d1(void)
{
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
for (j=0;j<60000;j++);
}
 
void main(void)
{
TXSTAbits.SYNC=0;
BAUDCONbits.BRG16=0;
TXSTAbits.BRGH=0;
 
SPBRG=spbrg_value; 
RCSTAbits.SPEN=1; 
TXSTAbits.TXEN=1; 
RCSTAbits.CREN=1; 
while(1)
{
string("AT\r\n");
d1(); d1(); d1(); d1(); 
 
string("AT+CMGF=1\r\n");
d1(); d1(); d1(); d1();
 
string("AT+CMGS=\"+91xxxxxxxxxx\"\r\n");
d1(); d1(); d1(); d1();
 
string("This is my test msg");
d1(); d1(); d1(); d1();
 
tx_data(0x1A);
d1(); d1(); d1(); d1();
 
}
}

 
Last edited by a moderator:

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top