hic, bài này lâu quá mình quên cập nhựt, chắc do hồi đó lu bu sửa đồ án, h có bạn hỏi nên mình up lại phần source, chỉ tham khảo thôi chứ viết code quá dở

Thanks a Longtu đã hỗ trợ e nhiệt tình

//------------------------------------------------------------------------------
//------------------------ CHECK "CONNECT OK" STRING GPRS-----------------------
//------------------------------------------------------------------------------
#int_rda
void ngat_gprs(void)
{
char c1;
c1=fgetc(ID1);
switch(c1)
{
case 10:
{
indexx=0;
}
break;
case 13:
{
//chk_gprs=0;
check_connect();
}
break;
default:
{
connect_buffer[indexx]=c1;
indexx++;
}
break;
}
}
//------------------------------------------------------------------------------
void check_connect(void)
{
if((connect_buffer[0]=='C')&&(connect_buffer[1]=='O')&&(connect_buffer[2]=='N')
&&(connect_buffer[3]=='N')&&(connect_buffer[4]=='E')&&(connect_buffer[5]=='C')
&&(connect_buffer[6]=='T')&&(connect_buffer[8]=='O')&&(connect_buffer[9]=='K'))
{
chk_gprs=1;
indexx=0;
}
else
{
//chk_gprs=0;
//indexx=0;
}
}
//------------------------------------------------------------------------------
//------------------------- GET GPS DATA STRING -------------------------------
//------------------------------------------------------------------------------
#int_rda2
void ngat_gps(void)
{
char c2;
c2=fgetc(ID2);
switch(c2)
{
case '$':
{
index=0;
}
break;
case 13:
{
chk_gps=0;
check_gprmc();
}
break;
default:
{
gps_buffer[index]=c2;
index++;
}
break;
}
}
//------------------------------------------------------------------------------
void check_gprmc(void)
{
//disable_interrupts(int_rda2);// edit
if((gps_buffer[0]=='G')&&(gps_buffer[1]=='P')&&(gps_buffer[2]=='R')
&&(gps_buffer[3]=='M')&&(gps_buffer[4]=='C'))
{
strcpy(gps_str,gps_buffer);
chk_gps=1;
//enable_interrupts(int_rda2);// edit
index=0;
}
else
{
chk_gps=0;
//enable_interrupts(int_rda2);//edit
index=0;
};
}