电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
STM32F030读取MPU6050仅能读出ID=68
已解决
73482
个问题
已帮助
5993
位优秀工程师
STM32F030读取MPU6050仅能读出ID=68
glenxu
2020-03-23
浏览量:1166
如题,初始化验证,&0X6B=0X00 结果正常,但加速度读数为零。
请问什么原因。
显示全部
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
glenxu
很多人提到STM32的IIC库函数不好用、不稳定,由于我对C的编程知识起步,
所以只能用函数做,并且也不希望自己建"PROJECT"和“INIT”在这样的基
础下,经过反复试验,最终发现MX HAL建立工程、初始化非常好用。
出现的问题和众多码农相同,最大的问题就是能收到地址“0X68”,所有其它数据为零不变!
最终经对比发现,程序没有问题,主要问题是IIC的初始化中不能随意增加延时,很多帖子和
MPU6050说明中提到要由足够的延时,其实这就是个坑,因为延时后6050又进入了休眠,
所以读出的值全为零。结论是该加延时的加,比该加的不要画蛇添足!
由于100K的IIC通讯速度很快,所以只在上电初始化和有复位操作后各加500mS延时,其它豆不需要,
除非你强制运行在很低的CPU时钟,否则IIC的初始化和读写没有跟不上速度的问题,不需要延时。
试验发现STM32F103和STM32F030对HAL库函数的IIC操作都很问题。
发布于
2020-03-30
举报
评论 0
1
0
其他答案
数量:
2
imtzhangge
是不是还有哪个寄存器有问题。 MPU6050 网上有很多的例程。 都是好用的。 看看I2C 硬件电路是不是有问题。 或者读出来的数据就是不对的。
发布于
2020-03-23
举报
评论 0
1
0
chen0000009
这个要看下MPU6050上面是不是某个寄存器没有配置好
发布于
2020-03-26
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
STM32F030读取MPU6050仅能读出ID=68
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: