最近在用STM32F411驱动MPU6500,发现总是会发生dmp_load_motion_driver_firmware函数执行不成功,在晚上找了找发现有很多人都发现有这个问题。自己调试了几天,修改了如下几点:

1、在mpu_write_mem函数中增加延迟。

2、在实际调试中发现如果在调用dmp_load_motion_driver_firmware函数的过程中有中断相应会很容易错误,由于的我的使用了freertos操作系统,所以在开启线程后会有上下文切换,很容易造成初始化错误。所以将初始化函数全部移到线程启动之前。

3、修改了I2C引脚的驱动,将引脚上拉修改为无上拉,因为不成本身模块上就已经具备了上拉电阻。

实际测试下来基本说不会再出现错误。当然如果频繁进行操作还是会出现错误。

补充:

经过进一步调试,实际测试下来采用如下方式效果更好:

i2c busy死锁->i2c失能->i2c初始化->sda、scl配饰为输出并置高电平->sda、scl配置为i2c管教复用。关于dmp_load_motion_driver_firmware错误问题,建议将该线程优先级提高,避免被打断。

MPU6500驱动总结相关推荐

  1. MPU6500驱动调试笔记(STM32F407+SPI)

    一.问题背景 本来最开始实验室使用MPU6050芯片,采集陀螺仪原始数据做生理信号采集,但算法发现用IIC接口采样率(200hz)达不到要求.故寻找同类型支持SPI协议的芯片去替代,发现了这块MPU6 ...

  2. MPU6500驱动调试笔记(STM32F427+SPI2)

    请加扣扣技术交流群:460189483 1.由datasheet P34得知:CPOL=1,CPHA=1; 可以看到是在SCLK上升沿采样,SCLK下降沿改变数据,结合如下2张SPI时序图,不难发现 ...

  3. MPU6500驱动(STM32F4+SPI)

    一.MPU6500基本功能简介 MPU-6500是一个6轴运动跟踪设备,它结合了一个3轴陀螺仪.3轴加速度计和一个数字运动处理器与设备的所有寄存器通信使用I2C在400kHz或SPI在1MHz执行.设 ...

  4. stm32驱动mpu6050、mpu6500、mpu9250心得

    浅谈自己使用mpu陀螺仪的一些心得. mpu6050/mpu6500驱动 这里是用的原子哥的用虚拟IIC驱动mpu6050代码,之前我一直是用硬件IIC驱动,但是听大神说虚拟IIC比硬件IIC要稳定, ...

  5. ESP8266-Arduino编程实例-MPU6500加速计陀螺仪驱动

    MPU6500加速计陀螺仪驱动 1.MPU6500介绍 MPU-6500 是一款 6 轴运动跟踪设备,将 3 轴陀螺仪.3 轴加速度计和数字运动处理器™ (DMP) 组合在一个 3x3x0.9 毫米的 ...

  6. 树莓派驱动6轴传感器MPU6500与SPI初体验(一)

    手里有一块老版本的树莓派B+,除了点亮个led灯,每怎么玩过,最近看了个视频,8轴载人飞行器,感觉太爽了.视频看出是极客通过无人机DIY出来的,现在城市交通这么拥堵,要是能DIY一个飞行器来做交通工具 ...

  7. 树莓派驱动6轴传感器MPU6500与SPI初体验(二)

    接前回<< 树莓派驱动6轴传感器MPU6500与SPI初体验 对于一个想做嵌入开发的外围开发者,做硬件相关的应用开发真的是老太太啃骨头.一周以后凭借一点小聪明和给力的度娘,总算在树梅派上实 ...

  8. 四旋翼无人机从0到1的实现(十八)无人机外设驱动→MPU6500

    Author:家有仙妻谢掌柜 Date:2021/2/18 今年会更新一个系列,小四轴无人机从功能设计→思维导图→原理图设计→PCBLayout→焊接PCB→程序代码的编写→整机调试一系列,以此记录自 ...

  9. STM32驱动陀螺仪MPU6050的应用实例

    STM32F407ZE 驱动陀螺仪MPU6050的应用实例,实现如下功能: ①使用MPU6050的驱动实现陀螺仪遥控 左倾:LED1亮 右倾:LED2亮 前倾:LED3亮 后倾:LED4亮 使用的是获 ...

最新文章

  1. 用开源工具OCSNG管理资产信息
  2. 当电桥为恒流源时惠斯通电桥电压的计算方法
  3. ACDream - Dynamic Inversions II
  4. 【转】oracle number与java中long、int的对应
  5. TypeScript学习笔记-声明合并
  6. C++ STL deque创建
  7. 中医与佛教共同推出的养生秘诀 100 条
  8. CSS进阶(二)——特性
  9. linux svn with ad,svn+apache+AD域
  10. tomcat加入系统服务
  11. Vant - 高效的 Vue 组件库,再造一个有赞移动商城也不在话下
  12. (转)Linux系统中sysctl命令详解 sysctl -p、sysctl -a、sysctl -w
  13. 快手短视频批量下载工具详细使用说明
  14. 一文讲懂什么是vlan、三层交换机、网关、DNS、子网掩码、MAC地址
  15. 【阅读笔记】BI系统介绍及建设思路
  16. 华为手机计算机快捷,快速让华为手机变成一台电脑,INNOCN便携显示器的更多玩法...
  17. 一文搞懂程序流程图详解
  18. docker容器接入canbus
  19. 用两个栈实现一个队列用两个队列实现一个栈
  20. python中pytz库用法详解

热门文章

  1. SVN 显示更早的日志
  2. matlab 计算物理,计算物理的MATLAB解法与可视化
  3. 使用matlab从气象数据文件提取所需站点信息到excel
  4. Sallen-Key低通滤波器设计
  5. 教你文件改名后怎么恢复回原来名字
  6. SAP采购审批策略常用表以及出口增强
  7. android 自动更新 覆盖安装后 自动启动的问题
  8. Android 之 TranslateAnimation类:位移动画类(转载)
  9. 郝志峰《概率论与数理统计》期末复习笔记
  10. Dell G3 搭建深度学习环境(Ubuntu16.04)