|
typedef unsigned char BYTE;
BYTE RX_Buffer[32]={" "};
void RECEIVE_DATA(void) interrupt 4 using 1 //′串口中斷
{
unsigned char i = 0;
if(RI == 1)
{
temp = SBUF;
if(num < 32)
{
RX_Buffer[num] = temp;
num++;
}
else
{
num = 0;
}
if(temp == '\n'){
RX_Buffer[num] = temp;
num = 0;
flagReceive = 1; //óDêy¾Y½óêÕ
}
RI = 0;
}
}
對(duì)比函數(shù)
void isReceiveOKOrTimeout()
{
unsigned int count = 0;
while(count++ < 30000) //接收到OK或者超時(shí)退出
{
if(flagReceive){
flagReceive = 0;
if(
RX_Buffer[0] == 'O'
&& RX_Buffer[1] == 'K'
&& RX_Buffer[2] == '\r'
&& RX_Buffer[3] == '\n'
)
{
break;
}
}
}
}
|
評(píng)分
-
查看全部評(píng)分
|