| 
 
| 本帖最后由 10157969 于 2013-8-29 10:01 编辑 
 假设我想给串口发一组数据 01 00控制灯亮, 01 01控制灯灭,  串口数据通过中断存在数组RX1[]里。我判断一下数组里是否有 01 00 如果有灯亮 ,如果有01 01 灯灭。
 eg:if((RX1[0]==0x01)&&(RX1[1]==0x00))
 {
 LED0=0;  //LED亮
 }
 else if((RX1[0]==0x01)&&(RX1[1]==0x01) )
 {
 LED0=1;   //LED灭
 }
 这样为什么 不可以?  但是将00改成02等等不是00结尾的就能用或者00在中间就可以例如01 00 02(当然上面的程序就改成比较三个数了) ,这是临时写的小程序,希望你明白 谢谢你 帮我看一下  在线等
 
 
 这个是串口1中断程序
 void USART1_IRQHandler(void)
 {
 
 if(USART_GetITStatus(USART1,USART_IT_RXNE)==SET)
 {
 USART_ClearITPendingBit(USART1,USART_IT_RXNE);
 RX1[seat1]=USART_ReceiveData(USART1);
 seat1++;
 Uart1_Get_Flag=1;
 }
 
 }
 | 
 |