完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
while(1)
{ key=KEY_Scan(0); if(key==KEY0_PRES) { mode=0; break; }else if(key==KEY1_PRES) { mode=1; break; } t++; if(t==100) { printf("KEY0:RX_Mode KEY1:TX_Moden"); delay_ms(1000); } if(t==200) { t=0; } delay_ms(5); } if(mode==0)//RX模式 { printf("NRF24L01 RX_Moden"); //printf("Received DATA:n"); NRF24L01_RX_Mode(); while(1) { if(NRF24L01_RxPacket(tmp_buf)==0)//一旦接收到信息,则显示出来. { //tmp_buf[32]=0;//加入字符串结束符 if(tmp_buf[0]==0) { pitch2=-(tmp_buf[1]*256+tmp_buf[2]); }else pitch2=tmp_buf[1]*256+tmp_buf[2]; if(tmp_buf[3]==0) { roll2=-(tmp_buf[4]*256+tmp_buf[5]); }else roll2=-tmp_buf[4]*256+tmp_buf[5]; if(tmp_buf[6]==0) { yaw2=-(tmp_buf[7]*256+tmp_buf[8]); }else yaw2=-tmp_buf[7]*256+tmp_buf[8]; printf("Received DATA:n"); printf("rnpitch2=%drn",(int)pitch2); printf("roll2=%drn",(int)roll2); printf("yaw2=%drn",(int)yaw2); }else delay_us(100); t++; if(t==10000)//大约1s钟改变一次状态 { t=0; LED0=!LED0; } }; }else//TX模式 { printf("NRF24L01 TX_Moden"); NRF24L01_TX_Mode(); while(1) { if(NRF24L01_TxPacket(tmp_buf)==TX_OK) { if(mpu_mpl_get_data(&pitch,&roll,&yaw)==0) { MPU_Get_Accelerometer(&aacx,&aacy,&aacz); //得到加速度传感器数据 MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz); //得到陀螺仪数据 printf("rn横滚角Roll=%drn",-(int)(roll*100)); printf("俯仰角Pitch=%drn",(int)(pitch*100)); printf("航向角Yaw=%drnrn",-(int)(yaw*10)); r=-(int)(roll*100); p=(int)(pitch*100); y=-(int)(yaw*10); delay_ms(50); } printf("Sended DATA:"); if(p>0)//pitch:俯仰角.单位 0.01度。-9000 - 9000 对应 -90.00 -> 90.00 度 { tmp_buf[0]=1; tmp_buf[1]=p/256; tmp_buf[2]=p%256; }else { p=-p; tmp_buf[0]=0; tmp_buf[1]=p/256; tmp_buf[2]=p%256; } if(r>0) { tmp_buf[3]=1; tmp_buf[4]=r/256; tmp_buf[5]=r%256; }else { r=-r; tmp_buf[3]=0; tmp_buf[4]=r/256; tmp_buf[5]=r%256; } if(y>0) { tmp_buf[6]=1; tmp_buf[7]=y/256; tmp_buf[8]=y%256; //printf("yaw2=%drn",(int)yaw2); }else { y=-y; tmp_buf[6]=0; tmp_buf[7]=y/256; tmp_buf[8]=y%256; } }else printf("Send Failedn"); LED0=!LED0; delay_ms(300); }; } |
|
相关推荐
6个回答
|
|
你还是好好自己检查吧,大眼一看全是错误
|
|
|
|
学会仿真找问题
|
|
|
|
用什么仿真 能细说一下吗
|
|
|
|
用JTAG或者ST Link
|
|
|
|
有点懂得 但是不知道问题出现在哪里。。。。。。。。。。。。
|
|
|
|
初学者 真的有些不懂 直接是在NRF24L01例程改的 格式都是参照的啊
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2564 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2353 浏览 5 评论
3196 浏览 3 评论
2828 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2782 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
647浏览 1评论
889浏览 0评论
1010浏览 0评论
656浏览 0评论
485浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-13 08:45 , Processed in 1.327427 second(s), Total 88, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号