OpenEdv-开源电子网

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

[开发板通用] 战舰、探索者MPU6050换IO实现代码

[复制链接]

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14287
金钱
14287
注册时间
2018-8-3
在线时间
1147 小时
发表于 2019-7-5 18:59:58 | 显示全部楼层 |阅读模式
本帖最后由 翼行园子 于 2020-3-8 16:54 编辑

首先战舰需要硬件:战舰板子、MPU6050模块一个,若干杜邦线;
主要:改IIC引脚  因为用的是模拟IIC 所以移植这个IIC 很简单 只需要简单的配置下IO即可
vcc接3.3  
GND接GND
SDA接PA2   
SCL接PA3
INT接PA4 (可以不接例程没有用到中断 )  
AD0接PA15(控制MPU6050的AD0脚为低电平,从机地址为:0X68)


主要改的代码部分:IIC的io初始化 还有IO方向设置: 6a7f47b56b11a2b115ebe0ab00bacb2.png 48200a8e75dd92adbe6b6997950f669.png


探索者的话:探索者板子(板载了MPU6050了硬件固定的 需要换IO 就另外加个6050模块)、MPU6050模块一个,若干杜邦线;
主要改:模拟IIC 所以移植这个IIC 很简单 只需要简单的配置下IO即可  
vcc接3.3  
GND接GND
SDA接PA3   
SCL接PA2  
INT 接到PC0(可以不接例程没有用到中断)
AD0接GND 控制MPU6050的AD0脚为低电平,从机地址为:0X68),其他的和上述一样的。



战舰MPU6050换IO实验.rar

3.76 MB, 下载次数: 339

探索者MPU6050换io实验.rar

4.92 MB, 下载次数: 295

啊哈~加油!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14287
金钱
14287
注册时间
2018-8-3
在线时间
1147 小时
 楼主| 发表于 2020-3-8 16:51:20 | 显示全部楼层
这里总结下容易出问题的点:很多人是用杜邦线去接6050的IIC的  这个很容易导致通信失败 代码我这边实测过确实是可以正常工作的,大家可以试下换短杜邦线,还有不要接错线探索者 战舰要分清楚
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2020-1-22
在线时间
5 小时
发表于 2020-3-5 14:02:09 | 显示全部楼层

你好我是探索者, 他不能刷新请问是什么原因呢? 和楼上一样我也是只有数据不显示
回复 支持 1 反对 0

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-7-13
在线时间
5 小时
发表于 2019-7-14 08:26:29 来自手机 | 显示全部楼层
您好,改程序后没有效果,然后下载了您给的程序,烧进去之后显示器还是没有读数,是为什么呢
回复 支持 反对

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14287
金钱
14287
注册时间
2018-8-3
在线时间
1147 小时
 楼主| 发表于 2019-7-17 15:24:49 | 显示全部楼层
SGRBR 发表于 2019-7-14 08:26
您好,改程序后没有效果,然后下载了您给的程序,烧进去之后显示器还是没有读数,是为什么呢

IO 这些 有没有接对  液晶屏是显示什么呢  error 还是识别到了 但是没有读数
啊哈~加油!!
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2019-8-2
在线时间
2 小时
发表于 2019-8-2 11:38:05 | 显示全部楼层
你好,我下了历程407的屏幕提示LCD_ShowString(30,130,200,16,16,"MPU6050 OK");
        LCD_ShowString(30,150,200,16,16,"KEY0:UPLOAD ON/OFF");
        POINT_COLOR=BLUE;//设置字体为蓝色
        LCD_ShowString(30,170,200,16,16,"UPLOAD ON ");         
        LCD_ShowString(30,200,200,16,16," Temp:    . C");       
        LCD_ShowString(30,220,200,16,16,"Pitch:    . C");       
        LCD_ShowString(30,240,200,16,16," Roll:    . C");         
        LCD_ShowString(30,260,200,16,16," Yaw :    . C");         
是这段程序
但是不在刷新 是什么问题
回复 支持 反对

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14287
金钱
14287
注册时间
2018-8-3
在线时间
1147 小时
 楼主| 发表于 2019-8-7 17:26:05 | 显示全部楼层
二胖子, 发表于 2019-8-2 11:38
你好,我下了历程407的屏幕提示LCD_ShowString(30,130,200,16,16,"MPU6050 OK");
        LCD_ShowString(30,150, ...

引脚确认下 SDA接PA3    SCL接PA2
啊哈~加油!!
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-7-24
在线时间
7 小时
发表于 2020-1-2 16:27:48 来自手机 | 显示全部楼层
你好,无论是自己改,还是下载的例程都没有显示数据
回复 支持 反对

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14287
金钱
14287
注册时间
2018-8-3
在线时间
1147 小时
 楼主| 发表于 2020-1-2 21:41:46 | 显示全部楼层
旭噬 发表于 2020-1-2 16:27
你好,无论是自己改,还是下载的例程都没有显示数据

哪款板子呢
啊哈~加油!!
回复 支持 反对

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14287
金钱
14287
注册时间
2018-8-3
在线时间
1147 小时
 楼主| 发表于 2020-3-5 15:26:24 | 显示全部楼层
lllzx123 发表于 2020-3-5 14:02
你好我是探索者, 他不能刷新请问是什么原因呢? 和楼上一样我也是只有数据不显示

检查下 是不是线太长 IIC 容易干扰 换短一点的试下
啊哈~加油!!
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2020-1-22
在线时间
5 小时
发表于 2020-3-7 14:03:35 | 显示全部楼层
翼行园子 发表于 2020-3-5 15:26
检查下 是不是线太长 IIC 容易干扰 换短一点的试下


你好,我下了历程407的屏幕提示LCD_ShowString(30,130,200,16,16,"MPU6050 OK");
        LCD_ShowString(30,150,200,16,16,"KEY0:UPLOAD ON/OFF");
        POINT_COLOR=BLUE;//设置字体为蓝色
        LCD_ShowString(30,170,200,16,16,"UPLOAD ON ");         
        LCD_ShowString(30,200,200,16,16," Temp:    . C");        
        LCD_ShowString(30,220,200,16,16,"Pitch:    . C");        
        LCD_ShowString(30,240,200,16,16," Roll:    . C");         
        LCD_ShowString(30,260,200,16,16," Yaw :    . C");     

我的也是这样,没有数据, 单步调试发现是进不了刷新的循环,if(mpu_dmp_get_data(&pitch,&roll,&yaw)==0)这一个if进不去, 然后最终是if (!st.chip_cfg.dmp_on)返回了错误的值得原因, 官方资料说的是dmp_on是为了保证只被加载一次.
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2020-1-22
在线时间
5 小时
发表于 2020-3-7 14:04:29 | 显示全部楼层
lllzx123 发表于 2020-3-7 14:03
你好,我下了历程407的屏幕提示LCD_ShowString(30,130,200,16,16,"MPU6050 OK");
        LCD_ShowStr ...

iic, dmp, mpu,的初始化都通过了
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2020-1-22
在线时间
5 小时
发表于 2020-3-7 14:14:57 | 显示全部楼层
二胖子, 发表于 2019-8-2 11:38
你好,我下了历程407的屏幕提示LCD_ShowString(30,130,200,16,16,"MPU6050 OK");
        LCD_ShowString(30,150, ...

你好,我也遇到了你的问题,请问解决了吗?
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2020-1-11
在线时间
5 小时
发表于 2020-3-12 21:46:32 | 显示全部楼层
我的用楼主的代码成功了
可能是因为接线有问题吧
我只接了4根线没有接AD0
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2020-1-11
在线时间
5 小时
发表于 2020-3-12 21:47:58 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-12-10
在线时间
4 小时
发表于 2020-3-31 16:42:37 | 显示全部楼层
您好,我用的是精英版,想换成PA2、3
#define MPU_SDA_IN()  {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=8<<12;}
#define MPU_SDA_OUT() {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=3<<12;}
这部分代码有区别吗?我按照您的改了但是没有 效果
回复 支持 反对

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14287
金钱
14287
注册时间
2018-8-3
在线时间
1147 小时
 楼主| 发表于 2020-4-1 09:54:47 | 显示全部楼层
PXF 发表于 2020-3-31 16:42
您好,我用的是精英版,想换成PA2、3
#define MPU_SDA_IN()  {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=8CRH|= ...

PA2 3是低八位的要换成CRL这个寄存器
啊哈~加油!!
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-12-10
在线时间
4 小时
发表于 2020-4-4 20:57:27 | 显示全部楼层
翼行园子 发表于 2020-4-1 09:54
PA2 3是低八位的要换成CRL这个寄存器

谢谢 已经搞好了
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2020-5-29
在线时间
4 小时
发表于 2020-8-11 15:38:29 | 显示全部楼层
楼主我液晶屏有显示,但没有数据,为什么呀?
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2020-5-29
在线时间
4 小时
发表于 2020-8-11 16:21:03 | 显示全部楼层
杜邦线应该多短呢?我改到四厘米了还不行
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2021-5-7
在线时间
3 小时
发表于 2021-5-7 10:56:58 来自手机 | 显示全部楼层
楼主我用的精英板,照这个改了之后为什么mpu_dmp_init函数初始化一直失败,函数返回值是10呀
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2021-1-26
在线时间
7 小时
发表于 2021-5-12 23:05:45 | 显示全部楼层
ypg 发表于 2020-8-11 16:21
杜邦线应该多短呢?我改到四厘米了还不行

我的是探索版的,一开始显示屏也是没有数据,然后看了作者说是杜邦线影响,我也以为是杜邦线太长了,后面发现不是,我把SCL和SDA那两根杜邦线撕开就可以了,不撕开粘一起也可能影响通信
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2020-5-15
在线时间
19 小时
发表于 2021-8-2 17:38:13 | 显示全部楼层
你好,将楼主你这个探索者改io实验下载进去之后,没有刷新出角度数据,LCD显示的内容除了角度都正常,板子是探索者没错,接线反复确认也没错,但就是没有效果,一开始杜邦线是一排的,没有效果,撕开后一条一条的也不行
回复 支持 反对

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14287
金钱
14287
注册时间
2018-8-3
在线时间
1147 小时
 楼主| 发表于 2021-8-10 18:02:58 | 显示全部楼层
反式盐酸 发表于 2021-8-2 17:38
你好,将楼主你这个探索者改io实验下载进去之后,没有刷新出角度数据,LCD显示的内容除了角度都正常,板子 ...

硬件都是一样的吗  换短一点的杜邦线试下
啊哈~加油!!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 22:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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