#include <18F2620.h>
#fuses INTRC_IO,NOWDT,NOPROTECT,NOLVP,NOPUT, NOPBADEN
// Set Speed to 4Mhz
#use delay(clock=4000000)
// RS232 to Modem
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_B5, STREAM=Modem)
// RTS232 to User Port
#use rs232(baud=9600, xmit=PIN_B4, rcv=PIN_C7, STREAM=User)
void Main (void)
{
char char1; //variable to store the modem ASCII incoming byte
//configure I/O directions
set_tris_A(0b00000001);
set_tris_B(0b00100111);
set_tris_C(0b11011000);
disable_interrupts(GLOBAL); // disable all interupts
delay_ms(100); //startup delay
//turning off all LEDs
output_low(pin_A1);
output_low(pin_A2);
output_low(pin_A3);
output_low(pin_A4);
//Powering up modem...
output_high(pin_C1); // Turn on Regulator
output_high(pin_C5); // Turn on Pwrkey
Delay_ms(1000); // wait 3 sec
output_low(pin_C5); // Turn off Pwrkey
Delay_ms(3000); // wait 3 sec
output_high(pin_C5); // Turn on Pwrkey
delay_ms(30000); // wait for modem to establish connection
//modem power up indicator
output_high(pin_A1);
delay_ms(500);
output_low(pin_A1);
// configure apn.......
fprintf(Modem,"AT^SICS=0,conType,GPRS0\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
fprintf(Modem,"AT^SICS=0,apn,\"greeninternet\"\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
fprintf(Modem,"AT^SICS=0,user,userid\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
fprintf(Modem,"AT^SICS=0,passwd,2110\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
// configure internet sevice..........
fprintf(Modem,"AT^SISS=0,srvType,none\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
fprintf(Modem,"AT^SISS=0,srvType,ftp\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
fprintf(Modem,"AT^SISS=0,alphabet,1\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
fprintf(Modem,"AT^SISS=0,conId,0\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
fprintf(Modem,"AT^SISS=0,tcpMR,3\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
fprintf(Modem,"AT^SISS=0,tcpOT,3000\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
fprintf(Modem,"AT^SISS=0,address,\"ftp://232.127.159.192;type=d\"\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(100);
break;
}
}
// connnect to service...........
fprintf(Modem,"AT^SISO=0\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
if(char1 == 'K')
{
fprintf(User,"%c",char1); // print to screen
delay_ms(5000);
break;
}
}
//problem 1
fprintf(Modem,"AT^SISS=0,address,\"ftp://232.127.159.192/haseeb;type=a\"\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
//if(char1 == 'K')
//{
fprintf(User,"%c",char1); // print to screen
// delay_ms(100);
// break;
//}
}
//problem 2
// wait for urc then receive some data.........
fprintf(Modem,"at^sisr=0,1500\r\n");
while(TRUE)
{
while(!kbhit(Modem)); //wait for char in USART buffer
char1 = fgetc(Modem); // get user input
//if(char1 == 'K')
//{
fprintf(User,"%c",char1); // print to screen
// delay_ms(100);
// break;
//}
}
// close connection.........
//at^sisc=0
while(TRUE); //stay here forever
}