[异常解决] MPU6050启动异常读出陀螺仪和加速度计的值全为0的解决办法

简介:


 

 

在调试一个自己做的手环,每次用keil烧写好程序运行的蓝牙、陀螺仪都是正常的。但是掉电再上电之后蓝牙是好的、陀螺仪可以读出ID但是读出的加速度和角速度数据全为0。

下面是发生问题时main函数的前面部分:

首先看到一篇:《mpu6050需要一段时间上电然后再初始化!!》的文章,于是在前面加了个延时。

下面是添加一个延时的main函数前部分:

不过,还是有相同的问题!

然后,又找了一个《TM4C123GxL MPU6050读出陀螺仪和加速度计的值全为0》的文章,他出现的情况和我的非常像!

下面是作者最后给出的总结:

我根据他结论的第二点把代码做如下修改最终解决了问题:

1.将I2C初始化函数放在后面,main函数刚开始加延时

2.mpu6050初始化进行循环初始化直到写入成功 



本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/5188240.html,如需转载请自行联系原作者

相关文章
|
8月前
|
算法 芯片 异构计算
通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置
通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置
|
8月前
实验:MSP430F249 数码管计数到60自动清零(详细注释)
实验:MSP430F249 数码管计数到60自动清零(详细注释)
52 0
|
11月前
STM32 输入捕获的脉冲宽度及频率计算
STM32 输入捕获的脉冲宽度及频率计算
89 0
|
11月前
|
存储 编译器 内存技术
Keil MDK下如何设置非零初始化变量(复位后变量值不丢失)
Keil MDK下如何设置非零初始化变量(复位后变量值不丢失)
206 0
|
11月前
win10反复提示显示输入信号超出有效范围1680*1050@60Hz
win10反复提示显示输入信号超出有效范围1680*1050@60Hz
848 0
【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
424 0
龙芯2K驱动开发——使用中断触发读取GPIO电平值上传给读取进程
龙芯2K驱动开发——使用中断触发读取GPIO电平值上传给读取进程
360 0
龙芯2K驱动开发——使用中断触发读取GPIO电平值上传给读取进程
西门子S7-1200的运动控制功能、系统使能指令块、错误确认指令块、回参考点或设置参考点指令块的参数含义
今天我们来介绍西门子S7-1200的运动控制功能。西门子S7-1200的运动控制指令是通过使用相关工艺数据块和CPU的专用脉冲串输出来控制轴的运动。
西门子S7-1200的运动控制功能、系统使能指令块、错误确认指令块、回参考点或设置参考点指令块的参数含义
正点原子DS100手持示波器测试记录
正点原子DS100手持示波器测试记录
290 0
正点原子DS100手持示波器测试记录
STM32:TIM输入捕获模式测频率并在OLED上显示频率(内含:1.接线图/实物图+2.代码部分+3.输入捕获模式使用到的STM32库函数)
STM32:TIM输入捕获模式测频率并在OLED上显示频率(内含:1.接线图/实物图+2.代码部分+3.输入捕获模式使用到的STM32库函数)
357 0
STM32:TIM输入捕获模式测频率并在OLED上显示频率(内含:1.接线图/实物图+2.代码部分+3.输入捕获模式使用到的STM32库函数)