野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15396|回复: 2

基于STM32单片机用NFR24L01发射数据和接收数据不一样求大神解决

[复制链接]
发表于 2015-5-28 10:45:02 | 显示全部楼层 |阅读模式
基于STM32单片机用NFR24L01发射数据和接收数据不一样求大神解决;程序如下:


由于字数限制,前面的配置就不写了
int main(void)
{

u8 tmp_buf[33],tmp[33];







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)
{         
       tmp[0]=((int16_t)tmp_buf[0]<<8)+tmp_buf[1];
       tmp[1]=((int16_t)tmp_buf[2]<<8)+tmp_buf[3];
       tmp[2]=((int16_t)tmp_buf[4]<<8)+tmp_buf[5];

        


if(NRF24L01_RxPacket(tmp_buf)==0)//ò&#187;μ&#169;&#189;óê&#213;μ&#189;D&#197;&#207;¢,&#212;ò&#207;&#212;ê&#190;3&#246;à′.
{



printf("    加速度%8d\n",tmp[1]);
printf("    加速度%8d\n",tmp[2]);
printf(" 陀螺仪 %8d\n",tmp[0]);

tmp[32]=0;//加入结束符
    LCD_ShowString(0,190,239,32,16,tmp);   
}else delay_us(100);           
t++;
if(t==10000)//灯延时
{
t=0;
LED0=!LED0;
}   
};
}else//TX模式
{            
LCD_ShowString(60,150,200,16,16,"NRF24L01 TX_Mode");
NRF24L01_TX_Mode();
  mode=' ';//从空格键开始
while(1)
{         


    MPU6050ReadGyro(Gyro);

          tmp_buf[0]=Gyro[2]/256;
         tmp_buf[1]=Gyro[2]%256;


    MPU6050ReadAcc(Accel);

      tmp_buf[2]=Accel[0]/256;
      tmp_buf[3]=Accel[0]%256;


      tmp_buf[4]=Accel[1]/256;
      tmp_buf[5]=Accel[1]%256;

   
   printf("    加速度%8d\n",Accel[0]);
printf("    加速度%8d\n",Accel[1]);
printf(" 陀螺仪%8d\n",Gyro[2]);  
  
if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
{




    tmp_buf[32]=0;//&#188;óè&#235;&#189;áê&#248;·&#251;
LCD_ShowString(60,170,239,32,16,"Sended DATA:");
    LCD_ShowString(0,190,239,32,16,tmp_buf);



tmp_buf[32]=0;// 加入结束符
}else
{           
         LCD_ShowString(60,170,239,32,16,"Send Failed ");
LCD_Fill(0,188,240,218,WHITE);//&#199;&#229;&#191;&#213;é&#207;&#195;&#230;μ&#196;&#207;&#212;ê&#190;           
};
LED0=!LED0;
delay_ms(1500);            
};
}
}

说明:本人想把MPU6050数据直接发送到另一个板子上并且显示出来,红色部分是发送和接收的东西,问题是发送的数据和接受的数据不一样,如下图,本程序是在原子的程序上改的,去掉了一些之前发的东西,东西, QQ截图20150528102724.png
回复

使用道具 举报

发表于 2015-5-29 11:13:30 | 显示全部楼层
不清楚,帮顶。
可以看看我们的nrf例程,直接用传输数据没有问题的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-31 08:07:58 | 显示全部楼层
flyleaf 发表于 2015-5-29 11:13
不清楚,帮顶。
可以看看我们的nrf例程,直接用传输数据没有问题的

谢了,已解决,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-22 23:22 , Processed in 0.042491 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表