不清楚这个结束符在这个程序里面起到了什么样的作用,我把结束符注释掉后,发送和接收两个程序都正常运行。
两处标星号的地方。
if(mode==0)//RX模式
{
LCD_ShowString(30,150,200,16,16,"NRF24L01 RX_Mode");
LCD_ShowString(30,170,200,16,16,"Received DATA:");
NRF24L01_RX_Mode();
while(1)
{
if(NRF24L01_RxPacket(tmp_buf)==0)//一旦接收到信息,则显示出来
{
//tmp_buf[32]=0;//加入字符串结束符***********************************
LCD_ShowString(0,190,lcddev.width-1,32,16,tmp_buf);
}else delay_us(100);
t++;
if(t==10000)//′óÔ¼1sÖó¸Ä±äò»′Î×′ì¬
{
t=0;
LED0=!LED0;
}
};
}else//TXÄ£ê½
{
LCD_ShowString(30,150,200,16,16,"NRF24L01 TX_Mode");
NRF24L01_TX_Mode();
mode=' ';//′ó¿Õ¸ñ¼ü¿aê¼
while(1)
{
if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
{
LCD_ShowString(30,170,239,32,16,"Sended DATA:");
LCD_ShowString(0,190,lcddev.width-1,32,16,tmp_buf);
key=mode;
for(t=0;t<32;t++)
{
key++;
if(key>('~'))key=' ';
tmp_buf[t]=key;
}
mode++;
if(mode>'~')mode=' ';
//tmp_buf[32]=0;//加入结束符*****************************
}else
{
LCD_Fill(0,170,lcddev.width,170+16*3,WHITE);//Çå¿ÕÏÔê¾
LCD_ShowString(30,170,lcddev.width-1,32,16,"Send Failed ");
};
LED0=!LED0;
delay_ms(1500);
};
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>