nrf24l01传输过程中结束符有什么作用?

2019-07-20 05:36发布

不清楚这个结束符在这个程序里面起到了什么样的作用,我把结束符注释掉后,发送和接收两个程序都正常运行。
两处标星号的地方。
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);//&#199;&#229;&#191;&#213;&#207;&#212;ê&#190;                          
                                LCD_ShowString(30,170,lcddev.width-1,32,16,"Send Failed ");
                        };
                        LED0=!LED0;
                        delay_ms(1500);                                    
                };
        }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
DreamWaterPro
1楼-- · 2019-07-20 11:20
 精彩回答 2  元偷偷看……
1208
2楼-- · 2019-07-20 16:11
tmp_buf[32]=0发送完32个字节的结束符
mhsdsa
3楼-- · 2019-07-20 21:29
学习了,谢谢大佬的讲解

一周热门 更多>