//串口接收上位机,可以用strstr函数查找,比如,上位机发送 数据:255
//单片机可以先查找"数据:",查找到之后再处理后面的255,这样的代码可以简单明了很多
void Uart2_Isr() interrupt 8 //串口2中断
{
char *p,Uart_S[15];
static unsigned char RX_Count;
unsigned a;
if(S2CON&0x02)
{
S2CON&=~0x02; //清除中断发送标示位
Busy=0; //
return;
}
//────────────────────────────────────────────────────────────────────────────
if(S2CON&0x01)
{
S2CON&=~0x01; //清除中断接收标示位
Uart_S[RX_Count]=S2BUF;
RX_Count++;
p=strstr(Uart_S,"数据:"); //查找指令结束符"数据:"
if(NULL!=p) //如果没有查找到"数据:",指针返回值为空
{
//指针返回值不为空,就表示串口接收到"数据:",处理.........
}
}
//──────────────────────────────────────────────────────────────────────────────
}
|