关于TFTLCD显示自己数据的问题,程序如下:
u8 tmp_buf[33];
short x,y,z;
while(1)
{
MPU6050ReadGyro(Gyro);
tmp_buf[0]=Gyro[2]>>8;
tmp_buf[1]=Gyro[2];
MPU6050ReadAcc(Accel);
tmp_buf[2]=Accel[0]>>8;
tmp_buf[3]=Accel[0];
tmp_buf[4]=Accel[1]>>8;
tmp_buf[5]=Accel[1];
上面是用NRF24L01,发送的数据,想把发送的显示出来,如下:
if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
{
LCD_ShowString(60,170,239,32,16,"Sended DATA:");
LCD_ShowString(60,190,239,32,16,"ZZ:");
LCD_ShowString(60,210,239,32,16,"FZ:");
LCD_ShowString(90,190,239,32,16,tmp_buf);
}else
{
LCD_ShowString(60,170,239,32,16,"Send Failed ");
LCD_Fill(0,188,240,218,WHITE);//
};
LED0=!LED0;
delay_ms(50);
};
}
关键是要显示tmp_buf,他是u8,也就是无符号字符常量数组,但是下载显示是空的,求解。。。。。。
下面是接收显示:
if(mode==0)//RX????
{
LCD_ShowString(60,150,200,16,16,"NRF24L01 RX_Mode");
LCD_ShowString(60,170,200,16,16,"Received DATA:");
NRF24L01_RX_Mode();
while(1)
{
if(NRF24L01_RxPacket(tmp_buf)==0)//???©??????????,?ò????????.
{
z=((int16_t)tmp_buf[0]<<8)+tmp_buf[1];
x=((int16_t)tmp_buf[2]<<8)+tmp_buf[3];
y=((int16_t)tmp_buf[4]<<8)+tmp_buf[5];
LCD_ShowString(60,190,239,32,16,x);
LCD_ShowString(60,190,239,32,16,y);
LCD_ShowString(60,190,239,32,16,z);
要显示的数据,数据分为三个,x,y,z, 我知道接收的X,Y,Z是short型的16位,要显示到U8型数组的就不知道如何去写了,求大神解决如何在显示函数上写接收和发送的数据。。。。。。
|