weixin_44849612 2019-10-07 23:01 采纳率: 100%
浏览 519
已采纳

stm32读取多个mpu9250的数据出现问题

我需要用stm32读取10个Mpu9250的数据,因为mpu9250中的磁力计的I2C地址无法改变,所以我用16路模拟开关CD74HC4067来轮询读取各个9250的数据,我是共用各个9250的SDA线,让HC4067分别控制10个9250的SCL线,通过分别置16路模拟开关的地址选择引脚的高低电平来轮流和每个9250通信,但是测试后发现,这10个9250的数据是串在一起的。也就是说无论我选择接通哪一路9250,但是动其他的9250这一路9250的数据也会有变化,不知道有没有大佬能指导我一下该怎么办?

     GPIO_SetBits(GPIOA,GPIO_Pin_12);
     GPIO_ResetBits(GPIOA,GPIO_Pin_13);
     GPIO_ResetBits(GPIOA,GPIO_Pin_14);
     GPIO_ResetBits(GPIOA,GPIO_Pin_15);
     delay_ms(2);
     MPU_Get_Gyroscope(&gx1,&gy1,&gz1);
     printf("%7.2d%7.2d%7.2d   ", gx1,gy1,gz1);
//   
     GPIO_ResetBits(GPIOA,GPIO_Pin_12);
     GPIO_SetBits(GPIOA,GPIO_Pin_13);
     GPIO_ResetBits(GPIOA,GPIO_Pin_14);
     GPIO_ResetBits(GPIOA,GPIO_Pin_15);
     delay_ms(2);
     MPU_Get_Gyroscope(&gx2,&gy2,&gz2);
     printf("%7.2d%7.2d%7.2d   ", gx2,gy2,gz2);
  • 写回答

4条回答 默认 最新

  • weixin_43716859 2019-10-10 22:42
    关注

    试着把scl线和sda线都用吗模拟开关分选试一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配