۰۱-مرداد-۱۳۸۹, ۱۲:۲۸:۰۶
اینم بعضی توابع:
کد:
void gsm_init(void)
{
printf("at%c",Enter);
delay_ms(10);
printf("at+ipr=115200%c",Enter);
delay_ms(10);
printf("ATE0%c",Enter);
delay_ms(10);
printf("AT+CMGF=1%c",Enter);
delay_ms(10);
}
void Clear_rx_buffer (void)
{
char rxi;
#asm("cli")
for (rxi=0; rxi<255; rxi++)
rx_buffer[rxi]=0;
rx_wr_index=0;
rx_counter=0;
#asm("sei")
}
void Text_buffer (void)
{
char i;
#asm("cli")
for (i=0;i<255;i++)
text[i]=0;
#asm("sei")
}
void SMS_Read(char sms_num[3])
{
char *sms_pointer;
char sdi=0;
char before_sms_data[4]={0x22,0x0d,0x0a};
Clear_rx_buffer();
printf("AT+CMGR=%s%c",sms_num,Enter);
#asm("cli")
Clear_rx_buffer();
while (!(strstr(rx_buffer,before_sms_data)));
delay_ms(2000);
sms_pointer=strstr(rx_buffer,before_sms_data);
sms_pointer+=3;
sms_data_char=*sms_pointer++;
while (sms_data_char!=0x0d)
{
text[sdi++]=sms_data_char;
sms_data_char=*sms_pointer++;
}
#asm("sei")
}
char send_sms(char number[12],char send_data[20])
{
printf("at%c",Enter);
delay_ms(10);
printf("AT+CMGS=%c%s%c%c",double_quote,number,double_quote,Enter);
delay_ms(10);
printf("%s%c",send_data,Ctrlz);
delay_ms(10);
return 1;
}