OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2699|回复: 6

求大佬分享一个NRF24L01传输MPU6050数据的程序

[复制链接]

18

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2019-6-4
在线时间
75 小时
发表于 2019-11-4 21:21:38 | 显示全部楼层 |阅读模式
求大佬分享一个NRF24L01传输MPU6050数据的程序
或者指点一下怎么写?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10568
金钱
10568
注册时间
2017-2-18
在线时间
1913 小时
发表于 2019-11-5 12:57:55 | 显示全部楼层
难度不大,读懂NRF24L01发送和接收函数,并明白6050数据存储的地方就可以开始移植了
回复 支持 反对

使用道具 举报

18

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2019-6-4
在线时间
75 小时
 楼主| 发表于 2019-11-5 15:48:52 | 显示全部楼层
peng1554 发表于 2019-11-5 12:57
难度不大,读懂NRF24L01发送和接收函数,并明白6050数据存储的地方就可以开始移植了

不是很会,大佬指点一下吧
回复 支持 反对

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10568
金钱
10568
注册时间
2017-2-18
在线时间
1913 小时
发表于 2019-11-5 18:17:56 | 显示全部楼层
H一程 发表于 2019-11-5 15:48
不是很会,大佬指点一下吧

先按照原子教程将NRF24L01例程和6050模块例程看下,不会再问
回复 支持 反对

使用道具 举报

34

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
857
金钱
857
注册时间
2018-9-16
在线时间
240 小时
发表于 2019-11-6 11:18:38 | 显示全部楼层
H一程 发表于 2019-11-5 15:48
不是很会,大佬指点一下吧

需要代做吗,这个我可以做
回复 支持 反对

使用道具 举报

18

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2019-6-4
在线时间
75 小时
 楼主| 发表于 2019-11-6 19:24:54 | 显示全部楼层
peng1554 发表于 2019-11-5 18:17
先按照原子教程将NRF24L01例程和6050模块例程看下,不会再问

       
                NRF24L01_TX_Mode();
//                while(1)
//                {                                                              
                        if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
                        {
                                        r=-(int)(roll*100);
                                        p=(int)(pitch*100);
                                        y=-(int)(yaw*10);
                                        delay_ms(50);
               
                                        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;       
                                                pitch2=tmp_buf[1]*256+tmp_buf[2];
                                                printf("\r\npitch2=%d\r\n",(int)pitch2);
                                        }else {      
                                                                        p=-p;
                                                                        tmp_buf[0]=0;
                                                                        tmp_buf[1]=p/256;
                                                                        tmp_buf[2]=p%256;       
                                                                        pitch2=-(tmp_buf[1]*256+tmp_buf[2]);
                                                                printf("\r\npitch2=%d\r\n",(int)pitch2);
                                                                }
                                       
                                        if(r>0)
                                        {
                                        tmp_buf[3]=1;
                                        tmp_buf[4]=r/256;
                                        tmp_buf[5]=r%256;       
                                                roll2=tmp_buf[4]*256+tmp_buf[5];
                                                printf("roll2=%d\r\n",(int)roll2);
                                        }else {   
                                                                        r=-r;
                                                                        tmp_buf[3]=0;
                                                                        tmp_buf[4]=r/256;
                                                                        tmp_buf[5]=r%256;       
                                                                                roll2=-(tmp_buf[4]*256+tmp_buf[5]);
                                                                 printf("roll2=%d\r\n",(int)roll2);
                                                                }               
                                                               
                                        if(y>0)
                                        {
                                        tmp_buf[6]=1;
                                        tmp_buf[7]=y/256;
                                        tmp_buf[8]=y%256;       
                                        yaw2=tmp_buf[7]*256+tmp_buf[8];
                                         printf("yaw2=%d\r\n",(int)yaw2);
                                        }else {   
                                                                        y=-y;
                                                                        tmp_buf[6]=0;
                                                                        tmp_buf[7]=y/256;
                                                                        tmp_buf[8]=y%256;       
                                                         yaw2=-(tmp_buf[7]*256+tmp_buf[8]);
                                                         printf("yaw2=%d\r\n",(int)yaw2);
                                                                }               
                        delay_ms(300);
                        LED0=0;
                        LED1=1;                                       
                        }else LED1=0;

只发送一次数据,如何循环发送?
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-3-3
在线时间
0 小时
发表于 2020-3-3 03:08:26 | 显示全部楼层
为啥你都是除或者取余256呢,除或取余100和10会出什么问题吗?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-21 11:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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