串口中断函数

void UART0_RCV (void) interrupt 4

    static unsigned char length;
unsigned char jiaoyan = 0;
char i;


if(RI)
{
RI = 0;
RX1_Buffer[count] = SBUF;


if(count==0 && RX1_Buffer[0]==0x55)
count++;


else if(count==1 && RX1_Buffer[1]==0x55)
count++;


else if(count==2 && RX1_Buffer[2]==0)
count++;


else if(count==3 && RX1_Buffer[3]==0)
count++;


else if(count==4)
count++;


else if(count==5)
{
length = RX1_Buffer[4]*256+RX1_Buffer[5];   //
count++;

}

           }

}


一开始length总是没定义成静态,导致每一次进入中断的时候,我前一次得到的length长度就被初始化了,后来才发觉。。。。。。。。。。。

你可能感兴趣的:(单片机)