#define MaxReceiveLen 100
unsigned int ReceiveCount=0;
unsigned char ReceiveDat[MaxReceiveLen];
void Usart() interrupt 4 //串口相应中断
{
if(RI == 1 && receiveFlag == 0)
{
RI = 0;//清除接收中断标志位
ReceiveDat[ReceiveCount]= SBUF; ReceiveCount++;
if (ReceiveCount>=MaxReceiveLen)
{
//接收缓存溢出处理
ReceiveCount=0;
}
if (ReceiveCount>=4)
{
if (memcmp(&ReceiveDat[ReceiveCount-4],"1111",4)==0)
{
receiveFlag =1;
ReceiveCount=0;
}
}
}
}
|