需要串口中断接收才行,哪里不懂你可以在问。。。
void Uart2InterruptReceive(void) interrupt 8
{
unsigned char tmp2;
//char i;
//num2=0;
IE2 &= (~ES2);//关闭串口2中断//ES2 = 0;
if(S2CON & S2RI) //if(S2RI == 1)
{
S2CON &= (~S2RI);//S2RI = 0;
tmp2 = S2BUF;
//Uart1Send(tmp2);
rev_buf2[num2++]=tmp2;
if(num2>=80)
{
num2=0;
//Uart1Sends("GSM B "); 以上全试过可以发送7/23,20:03
}
}
else
{
S2CON &= (~S2TI);//S2TI = 0;
}
IE2 |= ES2;//ES2 = 1
}
把串口收到的数据存在一个数组
然后查找数组里面有没有包含特定的内容,有你特定的内容就执行特定的动作。