IIC和SPI同时通信遇到问题

IIC读磁力计数据,SPI读MPU6500数据。

for( ; ;)
{

  index++;

  if(index == 5)
  {
    compass.read();
    index = 0;
  }

ins.accumulate();

vTaskDelayUntil(&xLastWakeTime, 2.5 );
}

代码如上,遇到问题:MPU6500数据间隔性为零,IIC有时接收不到数据。解决:把这两个读分开成两个任务,问题解决。分析:刚读完IIC,立马读SPI,会造成两个中一个读不到。就算延时好像也没有用。

此外还遇到问题:atmel PB4,PB5引脚被复用,配置IIC时应该把两引脚配成普通引脚。IIC的从地址是7位。

posted @ 2017-06-05 11:24  味无味处求吾乐  阅读(742)  评论(0)    收藏  举报