NRF24L01无线通信实验里面TX模式发送字符串,第一次循环tmp_buf未赋初值,存储应是乱码,请问LCD_ShowString函数为何未显示乱码,而是直接开始显示正常的ASII码。
LCD_ShowString(30,150,200,16,16,"NRF24L01 TX_Mode");
NRF24L01_TX_Mode();
mode=' ';//从空格键开始
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); //LCD_ShowString位于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);
};
|