求助 TM4C123硬件I2C读取9250

2019-03-23 22:20发布

本帖最后由 627933142 于 2018-9-23 11:04 编辑

最近在用TM4C123的硬件I2C读MPU9250的九轴数据 设备ID已经读对了 各个寄存器的值都能都出来 而且都是对的 但是连续读加速度计和角速度计磁力计就没有数据 全是0 想让大家看看我的连续读取函数有没有问题 并请大家分析分析原因
void MPU_Read_Len(uint8_t addr,uint8_t reg,uint8_t len,uint8_t *buf)
{
uint32_t DataNumber;
uint32_t MsterCMD;
I2CMasterSlaveAddrSet(I2C1_BASE,addr,false);
I2CMasterDataPut(I2C1_BASE,reg);
I2CMasterControl(I2C1_BASE,I2C_MASTER_CMD_SINGLE_SEND);
  while(I2CMasterBusy(I2C1_BASE));
  I2CMasterSlaveAddrSet(I2C1_BASE,addr,true);

for(DataNumber=0;DataNumber<len;DataNumber++)
{
  if(DataNumber==0)
  {
   MsterCMD=I2C_MASTER_CMD_BURST_RECEIVE_START;
  }
  else if(DataNumber==(len-1))
  {
   MsterCMD=I2C_MASTER_CMD_FIFO_BURST_RECEIVE_FINISH;
  }
  else
  {
   MsterCMD=I2C_MASTER_CMD_BURST_RECEIVE_CONT;
  }
  I2CMasterControl(I2C1_BASE,MsterCMD);
   while(I2CMasterBusy(I2C1_BASE));
  *buf=I2CMasterDataGet(I2C1_BASE);
  buf++;
}
}
新人芯币就这么点啊


0条回答

一周热门 更多>

相关问题

    相关文章