OpenEdv-开源电子网

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

求助一个MPU6050的与上位机的问题,mpu6050的数据是如何传给匿名四轴上位机的?

[复制链接]

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
发表于 2015-12-4 10:45:18 | 显示全部楼层 |阅读模式
5金钱
具体情况,我想将原子哥的MPU6050例程改一下,因为原子哥的例程用的匿名四轴上位机是V2.6(两年前的版本),现在我想用匿名四轴上位机V4.06版本,但我不知道该在哪里改,才能实现两者的通信,貌似两者通信用的是串口

接下来是原始代码(串口部分)

//串口1发送一个字符
//c:要发送的字符
void usart1_send_char(u8 c)
{
while((USART1->SR&0X40)==0);//等待上一次发送完毕
USART1->DR=c;  

//传送数据给匿名四轴上位机V2.6
//fun:功能字
//data:数据缓存区
void usart1_niming_report(u8 fun,u8*data,u8 len)
{
u8 send_buf[32];
u8 i;
if(len>28)return; //最多28字节数据
send_buf[len+3]=0; //校验数置0
send_buf[0]=0X88; //帧头
send_buf[1]=fun; //功能字
send_buf[2]=len; //复制数据
for(i=0;i<len;i++)send_buf[3+i]=data;
for(i=0;i<len+3;i++)send_buf[len+3]+=send_buf
for(i=0;i<len+4;i++)usart1_send_char(send_buf); //·发送到串口1

//发送到加速度计和陀螺仪数据
void mpu6050_send_data(short aacx,short aacy,short aacz,short gyrox,short gyroy,short gyroz)
{
u8 tbuf[12]; 
tbuf[0]=(aacx>>8)&0XFF;
tbuf[1]=aacx&0XFF;
tbuf[2]=(aacy>>8)&0XFF;
tbuf[3]=aacy&0XFF;
tbuf[4]=(aacz>>8)&0XFF;
tbuf[5]=aacz&0XFF; 
tbuf[6]=(gyrox>>8)&0XFF;
tbuf[7]=gyrox&0XFF;
tbuf[8]=(gyroy>>8)&0XFF;
tbuf[9]=gyroy&0XFF;
tbuf[10]=(gyroz>>8)&0XFF;
tbuf[11]=gyroz&0XFF;
usart1_niming_report(0XA1,tbuf,12);//自定义帧0XA1
}
//通过串口1上报结算后的姿态给电脑
void usart1_report_imu(short aacx,short aacy,short aacz,short gyrox,short gyroy,short gyroz,short roll,short pitch,short yaw)
{
u8 tbuf[28]; 
u8 i;
for(i=0;i<28;i++)tbuf=0;//??0
tbuf[0]=(aacx>>8)&0XFF;
tbuf[1]=aacx&0XFF;
tbuf[2]=(aacy>>8)&0XFF;
tbuf[3]=aacy&0XFF;
tbuf[4]=(aacz>>8)&0XFF;
tbuf[5]=aacz&0XFF; 
tbuf[6]=(gyrox>>8)&0XFF;
tbuf[7]=gyrox&0XFF;
tbuf[8]=(gyroy>>8)&0XFF;
tbuf[9]=gyroy&0XFF;
tbuf[10]=(gyroz>>8)&0XFF;
tbuf[11]=gyroz&0XFF;
tbuf[18]=(roll>>8)&0XFF;
tbuf[19]=roll&0XFF;
tbuf[20]=(pitch>>8)&0XFF;
tbuf[21]=pitch&0XFF;
tbuf[22]=(yaw>>8)&0XFF;
tbuf[23]=yaw&0XFF;
usart1_niming_report(0XAF,tbuf,28);//飞空显示帧,0XAF
}   

最佳答案

查看完整内容[请看2#楼]

我在4567楼帮你解决了一下,你看看是不是你想要的结果!呵呵
这是我的小尾巴~
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
425
金钱
425
注册时间
2013-8-9
在线时间
65 小时
发表于 2015-12-4 10:45:19 | 显示全部楼层
我在4567楼帮你解决了一下,你看看是不是你想要的结果!呵呵
坚持自己的目标,就一定能够实现!
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-12-4 10:51:11 | 显示全部楼层
你现在通信不了吗?

如果通信不了,你得找匿名最新的协议,对照着修改


理论上协议是不会变的
学无止境
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2015-12-4 12:23:22 | 显示全部楼层
回复【2楼】jermy_z:
---------------------------------
没改过的时候,用匿名四轴飞行器V4.06,然后就串口打开失败,这个V4.06还没开源...
这是我的小尾巴~
回复

使用道具 举报

3

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
425
金钱
425
注册时间
2013-8-9
在线时间
65 小时
发表于 2016-2-2 10:31:09 | 显示全部楼层
软件里面自带的有通讯协议
坚持自己的目标,就一定能够实现!
回复

使用道具 举报

3

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
425
金钱
425
注册时间
2013-8-9
在线时间
65 小时
发表于 2016-2-2 10:32:44 | 显示全部楼层
帮你上传一下,修改好之后,我也参考一下,我的QQ:942165166

ANO_通讯协议V4.06.pdf

152.32 KB, 下载次数: 846

坚持自己的目标,就一定能够实现!
回复

使用道具 举报

3

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
425
金钱
425
注册时间
2013-8-9
在线时间
65 小时
发表于 2016-2-2 11:18:18 | 显示全部楼层
修改完成,测试成功,呵呵
MPU6050匿名上位机V4.06通讯.jpg
坚持自己的目标,就一定能够实现!
回复

使用道具 举报

3

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
425
金钱
425
注册时间
2013-8-9
在线时间
65 小时
发表于 2016-2-2 11:21:56 | 显示全部楼层
姿态部分也给你传上来吧,很简单的
MPU6050匿名上位机V4.06通讯姿态部分.jpg
坚持自己的目标,就一定能够实现!
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2016-2-13 16:16:38 | 显示全部楼层
4,5,6,7,楼解答很不错,匿名下位机的例程会在上位机通信协议里面对着改就行。
这是我的小尾巴~
回复

使用道具 举报

33

主题

310

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
金钱
495
注册时间
2016-12-31
在线时间
63 小时
发表于 2017-3-27 12:08:31 | 显示全部楼层
jermy_z 发表于 2015-12-4 10:51
你现在通信不了吗?

如果通信不了,你得找匿名最新的协议,对照着修改


理论上协议是不会变的

我的用的就是V2.6版本的,然后程序也是用的原子哥的没改,为什么也不能通行呀
回复

使用道具 举报

33

主题

310

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
金钱
495
注册时间
2016-12-31
在线时间
63 小时
发表于 2017-3-27 12:10:44 | 显示全部楼层
fengshu426 发表于 2016-2-2 11:18
修改完成,测试成功,呵呵

你好,我的用的就是V2.6版本的,然后程序也是用的原子哥的没改,为什么也不能通信呀。就是那个高级收码界面有数据上去,但是没有波形,然后我自己又用串口助手查看,设置都是一样的,但是是乱码,这个情况是什么原因呀
回复

使用道具 举报

33

主题

310

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
金钱
495
注册时间
2016-12-31
在线时间
63 小时
发表于 2017-3-27 22:31:03 | 显示全部楼层
你好,为什么那个姿态角是从后面数组的18开始传,然后发送数组的大小设为28呢?
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2016-2-27
在线时间
8 小时
发表于 2017-3-30 08:57:21 | 显示全部楼层
fengshu426 发表于 2016-2-2 11:18
修改完成,测试成功,呵呵

你好,我也移植成功,但是明显上位机卡顿比较厉害,串口读取数据RX哪里蛮快的,但是一到波形显示,飞控状态那边就反映不过来,请问你是否也遇到这种情况
回复

使用道具 举报

3

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2017-4-2
在线时间
28 小时
发表于 2017-4-17 16:02:52 | 显示全部楼层
fengshu426 发表于 2016-2-2 11:18
修改完成,测试成功,呵呵

你好,我的用的就是V2.6版本的,然后程序也是用的原子哥的,没改的情况下不能显示波形。按照你发的图片来改也没有波形。高级收码界面有数据,然串口助手查看,是乱码。还有什么原因
回复

使用道具 举报

4

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2017-5-24
在线时间
25 小时
发表于 2017-5-27 16:18:30 | 显示全部楼层
子忧默声 发表于 2017-4-17 16:02
你好,我的用的就是V2.6版本的,然后程序也是用的原子哥的,没改的情况下不能显示波形。按照你发的图片来 ...

兄弟 你解决了吗 我也遇到了这个问题 能指点下马  qq邮箱 1593007457@qq.com
回复

使用道具 举报

4

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2017-5-24
在线时间
25 小时
发表于 2017-5-27 16:19:40 | 显示全部楼层
离夜 发表于 2017-3-30 08:57
你好,我也移植成功,但是明显上位机卡顿比较厉害,串口读取数据RX哪里蛮快的,但是一到波形显示,飞控状 ...

我也改了  但是接受的都是乱码 能指点下吗
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2015-7-5
在线时间
2 小时
发表于 2017-8-25 16:34:12 | 显示全部楼层
xiaoxiaowu 发表于 2017-5-27 16:18
兄弟 你解决了吗 我也遇到了这个问题 能指点下马  qq邮箱

我的也是,波形显示不出来,而且高级收码上面的数据也不正确,都没有出现帧头
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 13:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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