本帖最后由 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;
}
} |