while(1)
{
while(1)//在该部分确定进入哪个模式!
{
key=keyscan();
if(key==1)
{
mode=0;
break;
}else if(key==2)
{
mode=1;
break;
}
t++;
if(t==100) //闪烁显示提示信息
{
// LCD_ShowString(10,150," ");//清空显示
}
if(t==200)
{
t=0;
// LCD_ShowString(10,150,"KEY0:RX_Mode KEY1:TX_Mode");
}
//delay_ms(5);
}
//LCD_Fill(10,150,240,166,WHITE);//清空上面的显示
// OINT_COLOR=BLUE;//设置字体为蓝色
if(mode==0)//RX模式
{
RX_Mode();
while(1)
{ printf("rn 2401 rxdata:rn");
if(NRF24L01_RxPacket(tmp_buf)==0)//一旦接收到信息,则显示出来.
{
tmp_buf[32]=0; //加入字符串结束符
for(i=0;i<32;i++)
{
printf("%c",tmp_buf);
//LCD_ShowString(0,190,tmp_buf);
}
printf("rn");
}else //delay_us(100);
t++;
if(t==100)//大约1s钟改变一次状态
{
t=0;
}
}; .............................................................................
这个程序,用while来判断进入哪个模式,可是while(1)//在该部分确定进入哪个模式!
{
key=keyscan();
if(key==1)
{
mode=0;
break;
}else if(key==2)
{
mode=1;
break;
}
t++;
if(t==100) //闪烁显示提示信息
{
// LCD_ShowString(10,150," ");//清空显示
}
if(t==200)
{
t=0;
// LCD_ShowString(10,150,"KEY0:RX_Mode KEY1:TX_Mode");
}
//delay_ms(5);
}
这个不是死循环了吗。怎么还会执行下面的收发数据呢,实际上实际可以的,,望原子哥给我解释一下,感谢啊、、、
更多回帖