我想从串口所读的数据中分离出"$1#"有用数据,进行LED灯延时实验.但测试了一下未能通过,还望大家指点一二! 附上部分程序: void ISR_ES(void) interrupt 4 { unsigned char temp; if(RI==1) { RI = 0; temp = SBUF; if(temp == 0x24) //$ { recvLen = 0; buff[0]= temp; } else if(temp==0x23) //# { buff[2] = temp; if (recvLen==1) { //协议报文收齐,进行判断并处理 if (buff[1]==0x31) //1 { ch3=0; ledFlag=1; } } else { buff[recvLen]=temp; } recvLen++; } if ((recvLen==2) && (temp!=0x23)) { //接收的数据有误 } } if(TI==1) { TI=0; } }
void main() { while(1) { if(ledFlag) { ch3 = 0; delay(10000); ch3 = 1; delay(10000); } } } |