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